|
Linux: подключение 1С 8 к базе MySQL | ☑ | ||
---|---|---|---|---|
0
satoru
02.10.18
✎
11:44
|
Добрый день. Подскажите как можно подключить базу расположенную на My SQL через код 1С, без использования внешних источников данных, т.к. нужно предоставить возможность пользователю настраивать параметры подключения к базе MySQL.
Платформа: 8.3.10.2168 ОС (1С Сервер): Debian 9. |
|||
1
arsik
гуру
02.10.18
✎
11:49
|
Напрямую никак.
Обходные варианты. 1) прокладка в виде вебсервиса на каком ни будь пхп 2) Из виндового клиента. |
|||
2
Йохохо
02.10.18
✎
11:59
|
(1) почему? https://helpf.pro/faq/view/1791.html
|
|||
3
PloAl
02.10.18
✎
12:11
|
В (0) причина странная, в режиме предприятия повторно запрашиваются параметры подключения, даже если тот же пользователь не так давно вводил эти параметры в конфигураторе при настройке внешних источников. Да и стандартное окно настройки параметров подключения можно заменить собственным.
|
|||
4
Фрэнки
02.10.18
✎
12:20
|
(2) Почему что?
В 1 уже написали, что только в виндовом клиенте доступно. Ты запостил статью, в которой дано решение только для виндового клиента. |
|||
5
satoru
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 |
|||
6
satoru
02.10.18
✎
12:25
|
Поэтому и спрашиваю нет ли аналога для вот этого кода:
Connection = Новый COMОбъект("ADODB.Connection"); |
|||
7
PloAl
02.10.18
✎
13:31
|
Скорее всего не верный тип выбран в конфигураторе для колонки MySQL.
Убирайте из запроса динамического списка по одной колонке и найдете нужную. По опыту плохо переваривает УИД и даты с часовым поясом. Попробуйте для таких колонок тип строка установить. |
|||
8
satoru
02.10.18
✎
13:44
|
(7) Проблема в том, что он ругается на тип "Строка", но выборочно. Поле "number" проходит (Строка 10), а поля cam_name и cam_id не проходят (Строка 45).
|
|||
9
satoru
02.10.18
✎
13:49
|
Я понял 1С не может прочитать данные, где имя колонки содержит символ "_".
|
|||
10
satoru
02.10.18
✎
14:37
|
Только как решить эту проблему? Имя колонок в базе MySQL менять нельзя.
|
|||
11
satoru
02.10.18
✎
15:10
|
Решение установили коннектор версии 5.3 и проблема ушла. Всем спасибо за помощь.
|
|||
12
eklmn
гуру
02.10.18
✎
15:12
|
||||
13
satoru
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/ |
|||
14
satoru
04.10.18
✎
16:29
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |