![]() |
|
|
![]()
|
|
| Garmahis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 23.12.2004 Репутация: нет Всего: 4 |
Добрый день! Подскажите пожалуйста как в таблицу MS SQL помещать доковские файлы а потом считывать их от туда. Использутся Delphi6, ADOQuery.
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Garmahis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 23.12.2004 Репутация: нет Всего: 4 |
Спасибо! А на сервере в таблице какой тип поля должен быть? Binary? А считывать? И почему ftGraphic? Я же кладу вордовский документ!
Это сообщение отредактировал(а) Garmahis - 9.2.2005, 13:12 |
|||
|
||||
| Vit |
|
||||||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Да
Это просто двоичные данные не важно какого рода. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||||||
|
|||||||||
| Garmahis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 23.12.2004 Репутация: нет Всего: 4 |
Спасибо!
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Не за что! Всегда рады помочь!
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| vn31 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.2.2005 Репутация: нет Всего: нет |
Везде приводят этот пример, но у меня не работает: if not OpenDialog1.Execute then exit; DataModule2.qtemp.sql.Clear; DataModule2.qtemp.sql.add('UPDATE proizvoditel SET proizv_file_price = '); DataModule2.qtemp.sql.add('(:Data), country=2 where id=1'); DataModule2.qtemp.Parameters.ParseSQL(DataModule2.qtemp.sql.text, true); DataModule2.qtemp.Parameters.ParamByName('Data').LoadFromFile(OpenDialog1.FileName, ftGraphic); //showmessage(DataModule2.qtemp.sql.Text); DataModule2.qtemp.ExecSQL; Выдает ошибку String or binary data would be truncated СУБД MSSQL7, Delphi 7 вообще способ загонять файл в базу запросом мне очень нравится. считаю, что он лучше всех. Но не получается. Есть идея в собственной процедуре заменять спец символы, например ' " tab на /' /". такое уже делал, когда загонял картинки в MySQL запросом на удаленную машину, но зачем мучаться, когда все говорят, что это должно рботать. такк что заранее благодарен |
||||
|
|||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
(:Data), - скобки тут не нужны:
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| vn31 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.2.2005 Репутация: нет Всего: нет |
я со скобками и без скобок пробовал. я вообще не понимаю, откуда могу расти ноги у ошибки EOleExeption : String or binary data would be truncated. Дату и другое вставлет запросм с параметрами нормально, не хочет вставлять именно блоб, то есть файл может кто кинуть пример ? ( пример, который работал ) Это сообщение отредактировал(а) vn31 - 21.2.2005, 10:50 |
||||
|
|||||
| vn31 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.2.2005 Репутация: нет Всего: нет |
Поделится кто маленьким примером сохранения файла запросом в блоб поле ?
Заранее спасибо за помощь |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Какой тип поля Data?
Очень странно всё это, пример абсолютно рабочий... Вот моя программа, которая эмулирует файловую систему (дерево каталогов) на MS SQL Server 2000 и позволяет читать и писать файлы:
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| vn31 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.2.2005 Репутация: нет Всего: нет |
Vit, спасибо большое за приведенный пример. Нашел, почему не работало. при просмотре твоего кода сразу бросается в глаза:
тип поля у тебя Image, у меня стояло binary в MSSQL. поменял на image, загрузка файлов в таблицу сразу стала работать нормально. В связи с чем у меня появился вопрос, а почему image ??? ведь должно быть binary или я не прав ? а если почитать выше в теме:
|
||||
|
|||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
А хрен его знает... Когда то давно экспериментировал с ними, нашёл что нормально как BLOB'ы работают именно поля типа Image, сам не могу понять зачем они их так дегенеративно назвали -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| FeT |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 21.2.2005 Репутация: нет Всего: нет |
Вопрос, а почему может быть при использовании кода приведенного ниже создаваться файл размером 0 byte. Файлы укладываются в поле Image (size 16) ровно таким же образом как в выше указанных примерах. Delphi 6 и MS SQL 2000. |
||||||
|
|||||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
FeT - полный код нужен
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| FeT |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 21.2.2005 Репутация: нет Всего: нет |
Запись файла в БД
Вот так достаем, размер файла 0 byte. Если через поток и его размер 0. Поле имеет тип Image.
|
||||||
|
|||||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
По моему скромному убеждению File_name будет иметь всегда пустое значение... А поле Type_Attach всегда вставляется пустым... Значение переменной Type_Attach должно быть в кавычках... Удивительно что этот код не сгенерировал массу ошибок на этапе выполнения запросов... Это сообщение отредактировал(а) Vit - 9.6.2005, 20:05 -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| FeT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 21.2.2005 Репутация: нет Всего: нет |
Данный код полностью работоспособен при использовании MS Access (тип поля Memo). И проблема только в том, что файл создается размером 0. Пробовал через потоки, его (потока) размер тоже ноль. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
FeT - значит вы привели не полный код... Присмотритесь внимательно к тем проблемам которые я указал
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |