Добрый день!
Необходимо применить условие в тексте SQL сервиса ADODataset, который в свою очередь подключается к внешней БД Oracle 8.1. В качестве значения для условия использую параметр.

Значение самому параметру передаю в скрипте до открытия ADODataset:
ADODataset.Parameters.ItemsByName('testparam').ValAsStr = 'WEBDB';

При открытии ADODataset выскакивает ошибка:
"0x8000ffff - TSObjectLibrary.ADODataset: Ошибка открытия источника данных "adods_Test".
Оригинальное сообщение об ошибке: Не удается вновь задать положение в наборе строк"

При этом, если в тексте SQL явно указать значение поля для фильтрации,

то ADODataset открывается и фильтр отрабатывает.

Может кто подскажет, в чём проблема?

Нравится

2 комментария

Игорь, какой курсор указан (в свойствах ADODataset)? Если указан серверный, попробуйте заменить на клиентский.

Наталия, огромное спасибо! Помогло!

Показать все комментарии

Добрый день. У меня задача интеграции контактов с двумя сайтими (на обоих сайтах поля одинаковые). Хочу спросить, можно ли перед открытием ADODataset задавать ему строку соединения (либо ADOConnector) в зависимости от сайта, с которым я интегрируюсь?

Нравится

10 комментариев

Да, можно, у ADODataset есть свойства:
- ConnectionString - сюда можно присвоить строку соединения
- Connection - а сюда можно ADOConnection присвоить

Спасибо, но странно, почему эти свойства не отображаются в дебагере.
Еще одно: подскажете может, что лутше использовать: ADOConnector или строку соединения?

Лучше и правильнее, чтобы было одно соединение (то есть ADOConnection).
Свойство ADODataset.ConnectionString стоит использовать только в том случае, если у Вас в принципе только один ADODataset - тогда можно использовать его ConnectionString, чтобы не создавать сервис ADOConnection

У меня ADODataset один. Только данные загружаются с разных сайтов. То, я так понимаю, ADOConnection мне не нужен? Только подставлять нужную строку соединения, на пример, из системных настроек?

Да, будет нормально

Большое спасибо за консультацию!

Вопрос. А как это вы так лихо через АДО к базе сайта подключаетесь? Или сайт хостится где-то у вас?
Просто я такие задачи всегда решал по средству веб-сервиса.

Да не у нас. Мне дали доступ для моего IP, установил MySQL ODBC Connector, и все.

2 Доленко Юрий,
вот здесь описано более детально,
http://community.terrasoft.ua/blogs/5274
если останутся вопросы - буду рад помочь.

"Швец Александр" написал:вот здесь описано более детально,

Да, я знаю об ODBC драйверах :)
Другое дело, что ни каждый хостинг-провайдер даст вам прямой коннект на БД, в этом случае так просто не получится, хотя тоже не сложно. Кто-то тут уже описывал работу с веб-сервисами из террасофта...

Показать все комментарии