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