Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 18:57

COM соединение

Автор Воитель, 12 фев 2012, 21:35

0 Пользователей и 1 гость просматривают эту тему.

Воитель

Мною было реализованно COM соединение с MYSQL.

Реализовано так:

Толтый клиент, файловая база данных 1С, драйвер Mysql(с которым собственно и происходит com соединение) и сам сервер MySQL всё на одной машине. Всё это чётко работало.

Потом база данных 1С, сервер MySQL и драйвер были перенесы на сервер. Толстый клиент начал выдавать ошибку о том что не найден драйвер. И тут у меня появились вопросы, где у 1С сервер?
Там где храниться файловая база или там где находиться толстый клиент?

Потому что после ошибки для эксперемента я установить драйвер на машину где находился толстый клиент. В итоге ошибка изменилась и теперь система не могла найти сервер MYSQL. Таким образом у меня сложилось впечатление что процедура выполняемая на сервере, на самом деле выполняется в толстом клиенте.

Потом я попробовал указать IP при создании com объекта. Но это ни дало ни какого результата.

Развейте мои некоторые сомнения и подскажите как реализовать удалённое COM соединение,  может кто-то пробовал в соединении двух 1С?

Dethmontt

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Воитель

Да код там просто огромный.
Вот кусочек присоединения:

   СапИмяБДСАП = "atrix";
СапЛогинБДСАП = "root";
СапПарольБДСАП = "";
//СапАдресСервера = "localhost";
СапАдресСервера = "192.168.1.100";

Connection = Новый COMОбъект("ADODB.Connection");
Connection.Open("DRIVER=MySQL ODBC 5.1 Driver;Server="+СапАдресСервера+";Database="+СапИмяБДСАП+";UID="+СапЛогинБДСАП+";PWD="+СапПарольБДСАП+";STMT=set character_set_results=cp1251;");

RS = Новый COMОбъект("ADODB.Recordset");
RS.CursorType=3;
// Запрос к базе на языке SQL запросов.
RS.ActiveConnection=Connection;
ЗапросВСАП = "SELECT nomer_papki, imya FROM `papki` WHERE kod_papki_v_1s='"+Родитель.Код+"'";
Сообщить("ЗапросВСАП: "+ЗапросВСАП);
RS.Open(ЗапросВСАП);

Выполняется он в модуле справочника "Номенклатура"

Воитель

Есть подозрения что дело в самом MySQL

Dethmontt

Строка подключения к базе данных 'sakila' MySQL сервера 'localhost' с помощью MySQL ODBC 5.1 драйвера для пользователя 'Robin' с паролем 'Red'[2].

  Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=Sakila;User=Robin;Password=Red; 
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

И проверить установлены ли драйвера и на сервере и на локальной машине. Разрядность систем должна быть одинаковой.
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск