Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Хранение .pdf в базе (поле image).  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Здравствуйте, помогите пожалуйста разобраться.
Имеется проект АДП MS SQL 2008 + Access 2003. Необходимо организовать хранение документов pdf в базе.
Создаю таблицу с полями
iID - int
strNum - nvarchar (15)
dtDatenum - datetime
objDoc - image

пытаюсь вставить в таблицу запись с документом:

Insert Into test.dbo.tblSchetF (strNum, dtDatenum, objDoc)
Select 'test3' as strNum, '05/06/13' as dtDatenum, *
From OpenRowset(Bulk N'D:\DOC1419.pdf', Single_Blob) as objDoc


при попытке вывести запись в аксе не отображается картинка документа, да и вообще доступа нет, не находит OLE.

Начал копать, докопался до того что в поле objDoc находятся "двоичные данные" вместо "документ Adobe Acrobat", то есть, если я правильно понимаю документ вышеуказанным запросом был внесен некорректно и не распознается.

А как сделать что бы было корректно?
5 июн 13, 04:29    [14392056]     Ответить | Цитировать Сообщить модератору
 Re: Хранение .pdf в базе (поле image).  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Изерлонер
Начал копать, докопался до того что в поле objDoc находятся "двоичные данные" вместо "документ Adobe Acrobat", то есть, если я правильно понимаю документ вышеуказанным запросом был внесен некорректно и не распознается.

А как сделать что бы было корректно?
Не правильно вы "узкое место" определили...
Вы только по тому, что картинка не отображается в акцессе решили, что документ сохранился неправильно?
А вы не пробовали сохранить этот документ в файл на диск и уже этот файл открыть соответствующим приложением?

Да и, у вас 2008 сиквел. Зачем этот моветон с типом image, вам траблов хлебать хочется? Почему не используете varbinary(max)?

Сообщение было отредактировано: 5 июн 13, 06:18
5 июн 13, 06:18    [14392084]     Ответить | Цитировать Сообщить модератору
 Re: Хранение .pdf в базе (поле image).  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
tpg,

непосредственно из акса зашел в таблицу, ткнул ПКМ на поле image - добавить объект. Добавил тот же самый файл и все прекрасно отобразилось и в поле "Документ Adobe Acrobat" и на форме в рамке картинка вылезла... То есть средствами акцесс все прекрасно добавляется и распознается, а запрос в sql сервер почему то не приводит к такому результату :(

с типом поля я до конца еще не определился, можно и varbinary (max) (правда я читал что и с ним есть проблемы и более чем с image), но пока что для одного типа (image) что для другого (varbinary) результат один и тот же - что то попадает в поле (из под студии видно строку шестнадцатиричного кода), но не распознается так как надо.
5 июн 13, 06:38    [14392091]     Ответить | Цитировать Сообщить модератору
 Re: Хранение .pdf в базе (поле image).  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
tpg
Не правильно вы "узкое место" определили...


ну как не правильно-то если запрос выше приводит к см. записи 6, 7, 8, 9, а добавление в ручном режиме того же самого файла к записи № 10. :(

К сообщению приложен файл. Размер - 13Kb
5 июн 13, 06:49    [14392100]     Ответить | Цитировать Сообщить модератору
 Re: Хранение .pdf в базе (поле image).  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Кстати и в студии обратите внимание на те же записи - разная последовательность символов, то есть явное отличие. То есть sql запрос вносит файл в базу не как OLE. Ну я так понимаю...

К сообщению приложен файл. Размер - 32Kb
5 июн 13, 06:54    [14392104]     Ответить | Цитировать Сообщить модератору
 Re: Хранение .pdf в базе (поле image).  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Изерлонер

см. записи 6, 7, 8, 9, (
без 6. 6 - это другое.
5 июн 13, 06:58    [14392105]     Ответить | Цитировать Сообщить модератору
 Re: Хранение .pdf в базе (поле image).  [new]
angel_zar
Member

Откуда: Барнаул
Сообщений: 902
Если хотите Оле контейнер сохранять, его и сохраняте
5 июн 13, 07:30    [14392132]     Ответить | Цитировать Сообщить модератору
 Re: Хранение .pdf в базе (поле image).  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
как?
5 июн 13, 08:04    [14392156]     Ответить | Цитировать Сообщить модератору
 Re: Хранение .pdf в базе (поле image).  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
Изерлонер
как?
Из акцесса конечно. Сиквел про OLE-контейнеры ничего не знает и знать не должен.
5 июн 13, 08:44    [14392277]     Ответить | Цитировать Сообщить модератору
 Re: Хранение .pdf в базе (поле image).  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Благодарю.
5 июн 13, 08:48    [14392291]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить