Сохраните изображение в базе данных SQL Server CE

Кто-либо знает о примере о том, как сохранить изображение в базе данных SQL Server CE?

Каков тип данных столбец должен быть? (Я предполагаю двоичный файл.)

Я использую Linq к наборам данных. Это - возможное использование что поместить изображение в базу данных и вытащить его снова позже?

Спасибо за любой совет.


Вот то, как я сделал это:

MemoryStream stream = new MemoryStream();
myBitmapImage.Save(stream, ImageFormat.Png);
myInsertLinqToDataSetRow.IMAGE_COLUMN = stream.ToArray();

Для загрузки это отступает снова, я сделал это:

MemoryStream stream = new MemoryStream(myLinqToDataSetRow.IMAGE_COLUMN);
myBitmapImage.SignatureImage = new Bitmap(stream);

Я нашел страницу на MSDN, в котором было сказано, что тип Столбца типа image уходит и что необходимо использовать varbinary (МАКС). Max не поддерживается на SQL Server CE, таким образом, я сделал varbinary (8000).

БОЛЕЕ ПОЗДНЕЕ ПРИМЕЧАНИЕ: в то время как varbinary (макс.) не поддерживается на SQL Server CE. Varbinary (8000) не является достаточно крупным для многих изображений. Я действительно заканчивал тем, что использовал Тип изображения даже при том, что планируется быть удержанным от использования. После того как мс предлагает разумный alternitive на мобильной платформе, я рассмотрю переключение.

6
задан Vaccano 4 May 2010 в 15:56
поделиться

3 ответа

Вот статья MSDN, объясняющая, как:

http://support.microsoft.com/kb/318639

К сожалению, пример находится на VB, но я уверен, что вы понимаете, как это сделать.

Я бы сказал, что двоичный тип данных подходит для хранения изображений.

5
ответ дан 9 December 2019 в 22:31
поделиться

Это не прямой ответ на ваш вопрос, но у меня был хороший успех в хранении пути к файлу изображения (например: C:\images\image1.png) как строкового значения в базе данных вместо необработанного изображения.

Одним из преимуществ этого способа является уменьшение размера базы данных.

Другим преимуществом является то, что несколько таблиц могут указывать на изображения без хранения нескольких копий изображения.

1
ответ дан 9 December 2019 в 22:31
поделиться

Почему вы не используете тип изображения? Здесь - описание типов, поддерживаемых сервером sql ce.

Изображение - двоичные данные переменной длины с максимальной длиной 2 ^ 30 - 1 (1 073 741 823) байта.

5
ответ дан 9 December 2019 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: