Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Linux: подключение 1С 8 к базе MySQL

Linux: подключение 1С 8 к базе MySQL
Я
   satoru
 
02.10.18 - 11:44
Добрый день. Подскажите как можно подключить базу расположенную на My SQL через код 1С, без использования внешних источников данных, т.к. нужно предоставить возможность пользователю настраивать параметры подключения к базе MySQL.
Платформа: 8.3.10.2168
ОС (1С Сервер): Debian 9.
 
 
   arsik
 
1 - 02.10.18 - 11:49
Напрямую никак.
Обходные варианты.
1) прокладка в виде вебсервиса на каком ни будь пхп
2) Из виндового клиента.
   Йохохо
 
2 - 02.10.18 - 11:59
   PloAl
 
3 - 02.10.18 - 12:11
В (0) причина странная, в режиме предприятия повторно запрашиваются параметры подключения, даже если тот же  пользователь не так давно вводил эти параметры в конфигураторе при настройке внешних источников. Да и стандартное окно настройки параметров подключения можно заменить собственным.
   Фрэнки
 
4 - 02.10.18 - 12:20
(2) Почему что?
В 1 уже написали, что только в виндовом клиенте доступно.
Ты запостил статью, в которой дано решение только для виндового клиента.
   satoru
 
5 - 02.10.18 - 12:24
По статье http://catalog.mista.ru/public/522751/ я установил внешний источник и он подключается по Linux, но он не отображает данные и выдаёт ошибку:

Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: 42000
Номер ошибки: 1064
Описание: [MySQL][ODBC 5.1 Driver][mysqld-5.1.53-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '45
T1.id,
T1.id,
T1.time,
T1.time2,
T1.number,
T1."cam_name",
T1."cam_id"
FROM n' at line 1
   satoru
 
6 - 02.10.18 - 12:25
Поэтому и спрашиваю нет ли аналога для вот этого кода:
Connection = Новый COMОбъект("ADODB.Connection");
   PloAl
 
7 - 02.10.18 - 13:31
Скорее всего не верный тип выбран в конфигураторе для колонки MySQL.
Убирайте из запроса динамического списка по одной колонке и найдете нужную.
По опыту плохо переваривает УИД и даты с часовым поясом. Попробуйте для таких колонок тип  строка установить.
   satoru
 
8 - 02.10.18 - 13:44
(7) Проблема в том, что он ругается на тип "Строка", но выборочно. Поле "number" проходит (Строка 10), а поля cam_name и cam_id не проходят (Строка 45).
   satoru
 
9 - 02.10.18 - 13:49
Я понял 1С не может прочитать данные, где имя колонки содержит символ "_".
   satoru
 
10 - 02.10.18 - 14:37
Только как решить эту проблему? Имя колонок в базе MySQL менять нельзя.
 
 Рекламное место пустует
   satoru
 
11 - 02.10.18 - 15:10
Решение установили коннектор версии 5.3 и проблема ушла. Всем спасибо за помощь.
   eklmn
 
12 - 02.10.18 - 15:12
   satoru
 
13 - 02.10.18 - 15:16
Вот кстати как программно задать параметры подключения к MySQL:

ПараметрыСоединенияССайтомМИКО = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;

ПараметрыСоединенияССайтомМИКО.СтрокаСоединения= "
|DRIVER={MySQL ODBC 5.1 Driver};
|SERVER=192.168.1.10;
|DATABASE=bitrix;
|UID=root;
|PWD=dbpassword_4_user_root;";
ВнешниеИсточникиДанных.СайтМИКО.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединенияССайтомМИКО);
ВнешниеИсточникиДанных.СайтМИКО.УстановитьСоединение();
Запрос = Новый Запрос("ВЫБРАТЬ
                      |   b_stat_browser.Ссылка,
                      |   b_stat_browser.ID,
                      |   b_stat_browser.USER_AGENT
                      |ИЗ
                      |   ВнешнийИсточникДанных.СайтМИКО.Таблица.b_stat_browser КАК b_stat_browser");
Таблица = Запрос.Выполнить().Выгрузить();

информация взята от сюда: http://infostart.dexcel.ru/public/90666/
   satoru
 
14 - 04.10.18 - 16:29

Список тем форума
Рекламное место пустует  Рекламное место пустует
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует