Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Подключение к базе данных Firebird из 1С          
Vofka Подменю пользователя
сообщение 29.04.14, 13:25
Сообщение #1

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Пусть требуется подключиться к базе данных из системы 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

Спасибо сказали: buddha667, Gorus, Rayne,

mii Подменю пользователя
сообщение 05.05.14, 23:00
Сообщение #2

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Спасибо! Весьма полезная публикация

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 19:49
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!