Форум: "Базы";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
Внизкак сохранить файл в БД MS SQL Server? Найти похожие ветки
← →
Алексей Петухов (2004-02-16 07:27) [0]Здравствуйте уважаемые мастера.
Не подскажете, как сохранить файл в БД MS SQL Server?
я делаю так:
Читаю файл по батам и набираю в string функцией CHR.
Затем сохраняю в БД в поле text. Воссоздать не получается.
Причем с БД paradox все проходит хорошо, там я для хранения файла использую поле типа BLOB(1,3) "Formated memo"
Подскажите что мне делать?
Заранее благодарен.
← →
asp (2004-02-16 09:35) [1]TBlobField.LoadFromFile(const FileName: string);
Чем не подходит?
← →
Delirium (2004-02-16 10:28) [2]Лучше не text, а image - чтобы не было проблем с бинарными файлами.
← →
Алексей Петухов (2004-02-16 11:39) [3]
> TBlobField.LoadFromFile(const FileName: string);
> Чем не подходит?
Не подходит. Результат - тот же.
Проблема не в том как получить и присвоить данные полю, а в том как их сохранить на MS SQL 2000.
После сохранения данных на сервер при получаю не то, что пытался сохранить.
← →
Nikolay M. (2004-02-16 11:44) [4]
> Читаю файл по батам и набираю в string функцией CHR.
> Затем сохраняю в БД в поле text
Левой рукой правое ухо чешешь, имхо.
Сделай-таки поле типа image и загружай файл, как сказали в [1].
← →
Danilka (2004-02-16 11:46) [5]А какой файл пишешь, текстовый или бинарный?
Вообще-то я не знаток МС-Скуля, но, сдается мне, что поле типа BLOB(1,3) "Formated memo" не подойдет для бинарных файлов - memo для текста, у тебя скорее всего всякие символы теряются, или вообще, кодировка на какой-нибудь юникод меняется :))
← →
Nikolay M. (2004-02-16 11:52) [6]
> сдается мне, что поле типа BLOB(1,3) "Formated memo" не
> подойдет для бинарных файлов - memo для текста,
Во-первых, это у него для парадокса, а во-вторых, он их все равно потом в строку через CHR в строку колбасит. Вот только код затаил и показывать не хочет :)
← →
Алексей Петухов (2004-02-16 12:10) [7]
> Вот только код затаил и показывать не хочет :)
:-) Ежели надо то код покАжу.
Проблема решилась установкой в свойстве поляTransLiterate:=false
.
А по поводу чесания: я еще и не так умею. О как :-)
← →
mtb (2004-02-16 13:27) [8]>>Читаю файл по батам и набираю в string функцией CHR.
>>Затем сохраняю в БД в поле text. Воссоздать не получается.
а не проще использовать тип поля Image (так всеже надежнее, храни хоть текст хоть бинарник)
с таким кодом для записи
ATable1.Append;
TblobField(ATable1.FieldByName("bl")).LoadFromFile("c:\asdsa.exe");
ATable1.Post;
для чтения данных
TBlobField(ATable1.FieldByName("bl")).SaveToFile ("c:\asssa123.exe")
bl название поля на МС скуель (image!!!)
← →
Алексей Петухов (2004-02-16 18:43) [9]Спасибо большое всем з помощь
А по поводу
> а не проще использовать тип поля Image (так всеже надежнее,
> храни хоть текст хоть бинарник)
В принципе в поле типа text то-же любые данные хранить можно,
а все-таки поле text гроаздо длиннее.
Хотя нет, извините, то-же 2Гбайт.
← →
Nikolay M. (2004-02-17 09:06) [10]
> В принципе в поле типа text то-же любые данные хранить можно,
> а все-таки поле text гроаздо длиннее.
> Хотя нет, извините, то-же 2Гбайт.
Тебе говорят как правильно, а ты все о том же.
Хотя бы аргумент, что в среднем бинарник, переведенный твоим способом в текст, будет занимать раза в 2-3 больше, чем если бы его хранить image-ем тебя тоже не переубедит?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c