Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запрос к базе firebird из 1С
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Базы данных
domovoy
Здраствуйте! Возможно не по теме! При выполнении запроса 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БД.ConnectionString);
исключение
Сообщить("Не удалось выполнить подключение " + ОписаниеОшибки());
Возврат;
КонецПопытки;

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
также при виполнения запроса(select * from M_D where ID_M = 62782) выдает ошибку:
This operation is not defined for system tables.
unsuccessful metadata update.
request depth exceeded. (Recursive definition?)
Vofka
Есть какое-то его ПО родное, которое позволяет запросы выполнять?
alex040269
Цитата(domovoy @ 22.11.12, 9:42) необходимо зарегистрироваться для просмотра ссылки
function UDF_HASH is not defined.
module name or entrypoint could not be found

там какя-то лажа со встроенными (stored procedure) или тригерами.
Fynjy
Цитата(Vofka @ 22.11.12, 12:39) необходимо зарегистрироваться для просмотра ссылки
Есть какое-то его ПО родное, которое позволяет запросы выполнять?

MSQRY32.exe в каждом офисе есть ...
domovoy
Тип ID_M

BIGINT
DEFAULT 0
NOT NULL
Vofka
Цитата(Fynjy @ 22.11.12, 12:54) необходимо зарегистрироваться для просмотра ссылки
MSQRY32.exe в каждом офисе есть ...

Так вот, domovoy, выполните там свой запрос. Если вылетит по той же ошибке - значит настраивайте СУБД, 1С не причем.
domovoy
Цитата(Vofka @ 22.11.12, 13:17) необходимо зарегистрироваться для просмотра ссылки
Так вот, domovoy, выполните там свой запрос. Если вылетит по той же ошибке - значит настраивайте СУБД, 1С не причем.


Запрос я выполняю в IBExpert и там таже ошибка. А што тогда можно настроить в СУБД? я не силен в правках СУБД
alex040269
Цитата(domovoy @ 22.11.12, 13:21) необходимо зарегистрироваться для просмотра ссылки
Запрос я выполняю в IBExpert и там таже ошибка. А што тогда можно настроить в СУБД? я не силен в правках СУБД

прочтите еще раз:
необходимо зарегистрироваться для просмотра ссылки
и ищите форумы firebird и interbase
domovoy
Всем спасибо! Разобралса. Исполнение запроса прекрасно работает на сервере. Нужно подучить мат часть!!
mooovi
))) необходимо зарегистрироваться для просмотра ссылки
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.