Работа с ODBC без внешнего источника
Граждане, мы сами не местные поможите кто чем может :)
В проекте необходимо напрямую подключаться к sql базе, ну там прочитать или записать. Проблема в том , что никакого MS нет, то есть чистый odbc, и использовать внешние источники не получается, т.к. имена баз время от времени меняются, вместе со структурой и каждый раз править продуктовую базу .....
Поэтому прошу кусок кода подключения где имя базы задаётся программно, что-й то я запутался.
В проекте необходимо напрямую подключаться к sql базе, ну там прочитать или записать. Проблема в том , что никакого MS нет, то есть чистый odbc, и использовать внешние источники не получается, т.к. имена баз время от времени меняются, вместе со структурой и каждый раз править продуктовую базу .....
Поэтому прошу кусок кода подключения где имя базы задаётся программно, что-й то я запутался.
По теме из базы знаний
- Инструкция по подключению 1С к IBM DB2 с помощью внешнего источника данных.
- MySQL ODBC Driver 5.2 для "Внешнего источника данных" 1С8.3
- Внешние источники данных на Linux-серверах 1С
- Доступ к DBF/memo FoxPro/DOS через "внешние источники данных" 1С тонкого клиента. Возможность решения проблем за несколько шагов
- Годовой отчет по ЖНВЛП + внешний источник Эксель. 1С:Больничная аптека
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Ответ на вопрос находится в поиске за 1 сек.
https://infostart.ru/public/652774/
а если лень искать и читать, то вот так
а если лень искать и читать, то вот так
АДОСоединение = Новый COMОбъект("ADODB.Connection");
Если АДОСоединение.State = 0 // 0 - adStateClosed
Тогда
SRV = "..."; //адрес сервера MySQL
DB = "..";//имя базы MySQL
UID = "..";//имя пользователя MySQL
PWD = "...";//пароль пользователя MySQL
PORT = "";//порт сервера MySQL, например 3306
cstr = "DRIVER={MySQL ODBC 5.3 Unicode Driver};
|SERVER=" + SRV + ";UID=" + UID + ";
|PASSWORD=" + PWD + ";DATABASE=" + DB + ";PORT=" + PORT + ";";
Попытка
АДОСоединение.Open (cstr);
Исключение
АДОСоединение = Неопределено;
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
//выполняем запрос к MySQL:
ТекстЗапроса = "SEL ECT ITEMS.ID FR OM ITEMS";
Table = АДОСоединение.Execute(ТекстЗапроса);
Пока Table.EOF() = 0 Цикл
Сообщить(Table.Fields("ID").Value);
Table.MoveNext();
КонецЦикла;
Table.Close();
Показать
(16) да не важно что там на удаленном серваке. Доступ к odbc есть. Создаете проект (на своем серваке), к примеру, на FastAPI python. Подключаете pyodbc. Создаете подключение к odbc и раздаете по http протоколу. В 1С подключаетесь к созданному сервису и получаете данные.
Ну или прикидываете сложность и перекидываете ответственность на выдачу нормальных данных по rest к тем, кто поддерживает удаленный сервер :)
Ну или прикидываете сложность и перекидываете ответственность на выдачу нормальных данных по rest к тем, кто поддерживает удаленный сервер :)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот