Версия для печати темы (https://pro1c.org.ua/index.php?s=f6a51f6abeea0c350bcaa5643a43a15a&showtopic=9895)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Базы данных _ Запрос к базе firebird из 1С

Автор: domovoy 22.11.12, 9:42

Здраствуйте! Возможно не по теме! При выполнении запроса 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 22.11.12, 12: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?)

Автор: Vofka 22.11.12, 12:39

Есть какое-то его ПО родное, которое позволяет запросы выполнять?

Автор: alex040269 22.11.12, 12:50

Цитата(domovoy @ 22.11.12, 9:42) *
function UDF_HASH is not defined.
module name or entrypoint could not be found

там какя-то лажа со встроенными (stored procedure) или тригерами.

Автор: Fynjy 22.11.12, 12:54

Цитата(Vofka @ 22.11.12, 12:39) *
Есть какое-то его ПО родное, которое позволяет запросы выполнять?

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

Автор: domovoy 22.11.12, 13:15

Тип ID_M

BIGINT
DEFAULT 0
NOT NULL

Автор: Vofka 22.11.12, 13:17

Цитата(Fynjy @ 22.11.12, 12:54) *
MSQRY32.exe в каждом офисе есть ...

Так вот, domovoy, выполните там свой запрос. Если вылетит по той же ошибке - значит настраивайте СУБД, 1С не причем.

Автор: domovoy 22.11.12, 13:21

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


Запрос я выполняю в IBExpert и там таже ошибка. А што тогда можно настроить в СУБД? я не силен в правках СУБД

Автор: alex040269 22.11.12, 14:02

Цитата(domovoy @ 22.11.12, 13:21) http://pro1c.org.ua/index.php?act=findpost&pid=60827
и ищите форумы firebird и interbase

Автор: domovoy 29.11.12, 10:06

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

Автор: mooovi 27.11.15, 20:20

))) http://pro1c.org.ua/redirect.php?http://www.movetrans-pereezd.ru/pereezd-kvartiri.html

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua