Инструменты пользователя

Инструменты сайта


podkljuchenie_k_baze_dannyx_iz_1s



Подлючение к базе данных из 1С

Доступно в

1C7.x 1C8.x

Описание

Пусть требуется подключиться к базе данных из системы 1С:Предприятие.

На ЭВМ, с которой будем подключаться должны быть соблюдены следующие условия:

1) Скачан и установлен Firebird с настройками по умолчанию в любой конфигурации (ClassicServer / SuperServer / SuperClassicServer).

2) Скачан и установлен Firebird ODBC Driver с настройками по умолчанию.

Требуется подключиться к удаленному серверу в локальной сети, например, имеющем: 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();
 

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
W I​ I V Y
 
podkljuchenie_k_baze_dannyx_iz_1s.txt · Последнее изменение: 2015/10/28 19:01 — 46.164.157.242