PDA

Просмотр полной версии : Запрос к базе firebird из 1С



domovoy
22.11.2012, 11:00
Здраствуйте! Возможно не по теме! При выполнении запроса select * from M_D я получаю значения таблицы, а при выполнении
select * from M_D where ID_M = 62782 непроисходит соединение с базой(Произошла исключительная ситуация (ADODB.Recordset): Операция не допускается, если объект закрыт.)

При выполнении запроса в IBexpert получаю "Invalid token.
invalid request BLR at offset 2.
function UDF_HASH is not defined.
module name or entrypoint could not be found."

Подскажите пожалуйста в чем проблема? Использую Firebird-2.5.2.26539_0_Win32,Firebird_ODBC_2.0.1.152_Win32, 1С:Предприятие 8.2 (8.2.16.352).

Код 1С:

// Формируем строку подключения
ConnectionБД = Новый COMОбъект("ADODB.Connection");
ConnectionБД.ConnectionString = "Driver=Firebird/InterBase® driver;" +
"Dbname=D:\fdb\base.FDB;" + // Исправьте на свой IP, порт и путь к базе данных !
"UID=user;" + // Исправьте на свое имя пользователя !
"PWD=user;" + // Исправьте на правильный пароль !
"CHARSET=WIN1251"; // Исправьте на свою кодировку подключения !!!
ConnectionБД.ConnectionTimeout = 15;
ConnectionБД.CursorLocation = 3;
// Подключаемся к базе данных
попытка
ConnectionБД.Open(ConnectionБД.ConnectionStrin g);
исключение
Сообщить("Не удалось выполнить подключение " + ОписаниеОшибки());
Возврат;
КонецПопытки;

RS = Новый COMОбъект("ADODB.Recordset");
Str = "select * from M_D where ID_M = 62782";

попытка
RS.Open(Str, ConnectionБД);
исключение
Сообщить ("Проблемы с выполнением запроса к FireBird");
КонецПопытки;

Пока RS.EOF() = 0 Цикл
Name = RS.Fields("Name").Value;
ID_M = RS.Fields("ID_M").Value;
ID = RS.Fields("ID").Value;
СтрокаТабличногоДокумента = ТабличнаяЧасть1.Добавить();
СтрокаТабличногоДокумента .ид = ID;
СтрокаТабличногоДокумента .ид_м = ID_M;
СтрокаТабличногоДокумента .Номенклатура = Name;
RS.MoveNext();
КонецЦикла;

domovoy
22.11.2012, 13:26
также при виполнения запроса(select * from M_D where ID_M = 62782) выдает ошибку:
This operation is not defined for system tables.
unsuccessful metadata update.
request depth exceeded. (Recursive definition?)

Тип ID_M

BIGINT
DEFAULT 0
NOT NULL

domovoy
22.11.2012, 17:49
С некоторыми таблицами запрос выполняетса, а с етой чтото непонятное. выдает ошибки:
This operation is not defined for system tables.
unsuccessful metadata update.
request depth exceeded. (Recursive definition?).

Подскажите пожалуйста что не такИ

domovoy
29.11.2012, 11:07
Всем спасибо! Разобралса. Исполнение запроса прекрасно работает на сервере. Нужно подучить мат часть!!

GoodNil
05.07.2022, 13:42
Сам с собой разговаривал?