Пусть требуется подключиться к базе данных из системы 1С:Предприятие.
На ЭВМ, с которой будем подключаться должны быть соблюдены следующие условия:
1) Скачан и установлен [необходимо зарегистрироваться для просмотра ссылки]с настройками по умолчанию в любой конфигурации (ClassicServer / SuperServer / SuperClassicServer).
2) Скачан и установлен [необходимо зарегистрироваться для просмотра ссылки] с настройками по умолчанию.
Требуется подключиться к удаленному серверу в локальной сети, например, имеющем: IP=192.168.1.200, Firebird настроен на порт 3050, база данных располагается в файле: D:\DB\MYDATABSE.FDB.
Пример:
// Формируем строку подключения
Сonn = CreateObject("ADODB.Connection");
Conn.ConnectionString = "Driver=Firebird/InterBase(r) driver;" +
"Dbname=192.168.1.200/3050:D:\DB\MYDATABSE.FDB;" + // Исправьте на свой IP, порт и путь к базе данных !
"UID=SYSDBA;" + // Исправьте на свое имя пользователя !
"PWD=masterkey;" + // Исправьте на правильный пароль !
"CHARSET=WIN1251;" + // Исправьте на свою кодировку подключения !!!
"client=C:\Program Files\Firebird\Firebird_2_5\bin\fbclient.dll";
Conn.ConnectionTimeout = 180;
Conn.CursorLocation = 3;
// Подключаемся к базе данных
Try
Conn.Open(Conn.ConnectionString);
Except
Сообщить("Не удалось выполнить подключение " + ОписаниеОшибки());
Return;
EndTry;
// Выполнение простого DML-запроса
Try
Conn.Execute("INSERT INTO MY_TABLE(ID,NAME)VALUES(0, 'Значение' ); ");
Except
Сообщить("Не удалось выполнить запрос " + ОписаниеОшибки());
Conn.Close();
Return;
EndTry;
// Выполнение селективного запроса
RecordSet = CreateObject("ADODB.Recordset");
RecordSet.ActiveConnection = Conn;
RecordSet.CursorType = 1;
RecordSet.LockType = 3;
//Запрос к базе данных на языке SQL запросов
Try
RecordSet.Open("SELECT T.MY_FIELD1 FROM MY_TABLE T WHERE (T.FIELD = 'SomeValue')", Conn);
Except
Сообщить("Не удалось выполнить запрос " + ОписаниеОшибки());
Conn.Close();
Return;
EndTry;
// Обработка результатов запроса
Пока(RecordSet.EOF() = 0)Цикл
Сообщить("Значение домена = " + String(RecordSet.Fields("MY_FIELD1").Value));
RecordSet.MoveNext();
КонецЦикла;
// Не забываем закрыть набор данных !!!
RecordSet.Close();
// Не забываем отключиться от базы данных !
Conn.Close();
[необходимо зарегистрироваться для просмотра ссылки]
ПС. Доступно в 1C7.x 1C8.x