Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

вставка блоба в FB [D7, IB6.x]


oledb ©   (2005-10-18 23:38:00) 

Использую FB 1.5 + OLEDB Provider от ZStyle.
Все работает замечательно, кроме одной вещи.

Если пытаюсь вставить запись с помощью ADOQuery:
insert into mytable(intfield,blobfield) values(1,:p_blob)
AdoQuery.Parameters.ParamByName('p_blob').LoadFromFile('text.txt',ftBlob);

то получаю ошибку "Unable to convert data"
Причем если вставку делать через редактируемый датасет, то все работает как надо.
Проблема в том, что надо именно через insert into.


Val   (2005-10-19 12:40:00) [1]

>oledb   (19.10.05 12:29)
Внимательно читаем вопрос и видим там:...

вы считаете это конкретизацией? сколько раз вы видели на форуме тему типа "очень надо пронумеровать строки в гриде", например?
>All
сорри, флеймить заканчиваю. Про авторский провайдер от ZStyle ничего не знаю.


oledb   (2005-10-19 12:29:00) [2]

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

Внимательно читаем вопрос и видим там:
>Проблема в том, что надо именно через insert into.

то можно подумать и о тех же файлах с разделителями, хмл-формате и т.д., оставляя для работы с базой только компоненты прямого доступа.

Импорт из этих источников реализован уже давно.
Пользователи программы - это другие юридические лица. Мои клиенты.
Предлагать им можно долго хоть от забора и до обеда.
Клиент завтра скажет - хочу импорт из Sybase Anywhere и все тут.
И будет ему импорт из Sybase.
Вопрос только в моих трудозатратах.


Val   (2005-10-19 12:18:00) [3]

в противовес - если импортируются только данные, то можно подумать и о тех же файлах с разделителями, хмл-формате и т.д., оставляя для работы с базой только компоненты прямого доступа.
Так понятно?...
грубо, как минимум. вам не кажется, что приведенные условия, конкретизацию, нужно ставить в вопросе, если хотите избежать различных толкований вашей задачи?


oledb   (2005-10-19 12:04:00) [4]

Приложение раздается клиентам и работает вне моего офиса.
Требуется частое обновление по каналам инета.
Критичен размер приложения.

Используя специализированные библиотеки доступа к IB я не смогу обеспечить импорт скажем из Oracle, MSSQL, Dbase и так далее. Что там окажется у клиента я не знаю, знаю, что клиентов этих - сотни.
Итого мне придется поддерживать как минимум две технологии доступа к данным в своем приложении: спец библиотеку для IB + ADO.

Так понятно?
Мне не надо рассказывать про кайф от работы по прямому доступу, я не первый день замужем.


Amoeba   (2005-10-19 11:46:00) [5]


> Отсюда и желание использовать его с самого началавезде.

С самогоначала иметь тормоза и грабли на дороге..


Johnmen   (2005-10-19 11:00:00) [6]

Может я туп, но никакой логической последовательности в
- импорта данных из самых экзотических источников данных.
- После чего в проект будет прилинковано как минимум ADO.
- Отсюда и желание использовать его с самого начала везде.

я не вижу........


oledb   (2005-10-19 09:59:00) [7]

Не все так прямолинейно в жизни.
После того, как я напишу приложение на компонентах прямого доступа, встанет вопрос про реализацию импорта данных из самых экзотических источников данных.
После чего в проект будет прилинковано как минимум ADO.

Отсюда и желание использовать его с самого начала везде.


Johnmen   (2005-10-19 09:50:00) [8]

Ну не понимаю я людей, которые приобретают всякие "провайдеры", чтобы иметь целую "цепочку" в доступе к БД, притом с багами, вместо того, чтобы приобрести нормальную дешёвую библиотеку прямого доступа...


oledb   (2005-10-19 09:36:00) [9]

Уже пробовал по всякому

with Parameters.ParamByName('p_blob') do
begin
 DataType := ftBlob;//ftMemo,ftWideString ....
 Value := MyList.Text;
 //Assign(MyList);
 //LoadFromFile('text.txt',ft....);
end;

Ошибка одна и та же. Похоже что ошибка провайдера, потому что с провайдером oт http://www.ibprovider.com/rus/index.htmlвсе работает (правда у него свои проблемы)

Есть намерение приобрести один из этих провайдеров и хочется узнать, это ограничение бесплатной версии, или и в коммерческой тоже баг имеет место.


Johnmen   (2005-10-19 09:28:00) [10]

Текст запроса динамически прописываешь?
А впрочем неважно...
Надо определить свойства параметра. В частности DataType.


Наверх

Титульная страница Поиск, карта сайта Написать письмо