1С 8.x Linux + Mysql

  • Автор темы Kromf73
  • Дата начала
K

Kromf73

Гость
#1
Подскажите каким образом можно подключиться к MySql из 1С(8.1\8.2) на ОС Linux.

В случае 1С на Windows используем Com:
MyCon = Новый COMОбъект ("ADODB.Connection"); и тд.

А вот каким способом в случае, когда 1С стоит на ОС *nix?
 

vitfil

IT-интегратор
02.04.2004
2 062
0
44
Минск
#2
Используйте драйвер, который позволяет подключаться к этой базе и будет вам счастье.
 

vitfil

IT-интегратор
02.04.2004
2 062
0
44
Минск
#4
судя по всему, вот этот:
Новый COMОбъект ("ADODB.Connection");
Только надо правильно прописать строку соединения.
 
K

Kromf73

Гость
#5
судя по всему, вот этот:
Новый COMОбъект ("ADODB.Connection");
Только надо правильно прописать строку соединения.

Эта конструкция работает если 1С установлена на Windows. И тут проблем не возникает.
Вот только на сервере 1С, установленном на *nix нельзя использовать COMОбъект'ы.
Вопрос как раз и заключается в том, какой аналог данной конструкции можно использовать для доступа к БД MySql из сервера 1C 8.1\8.2 работающего на ОС *nix, а не Windows.
 

vitfil

IT-интегратор
02.04.2004
2 062
0
44
Минск
#6
брррррррр. ничего не понял из вашего письма.
клиентская часть установлена на винде?
ставьте на клиенте драйвер для доступа к MySQL, прописываете строку соединения к вашей базе. и вперед, используя ADO и все его возможности.
 
K

Kromf73

Гость
#7
брррррррр. ничего не понял из вашего письма.
клиентская часть установлена на винде?
ставьте на клиенте драйвер для доступа к MySQL, прописываете строку соединения к вашей базе. и вперед, используя ADO и все его возможности.

Возможно не совсем подробно рассписал проблему. Начну заново:
Есть сервер 1С8.2 установлен на линукс. Под нее есть конфигурация, к которой обращаются клиенты по web. По запросу клиента(используещего web соединение) на сервере долно выполниться обращение к БД MySQL (на тойже машине где и сервер 1С) выполнить запрос и выдать результат клиенту.

Вслучае когда сервер стоит на windows проблем не возникает тк можно использовать COM объекты. Но в линуксе поддержки их нет, и посему возникает вопрос как из 1С , работающей под управлением ОС линукс обратиться к БД MySql.
Надеюсь более понятно рассписал.
 

vitfil

IT-интегратор
02.04.2004
2 062
0
44
Минск
#8
Воооооооооот. Теперь понятней. Клиенты фактически тоже под линуксом.
А теперь вопрос: для чего вам напрямую обращаться к БД? Штатных средств 1С не хватает?
 
K

Kromf73

Гость
#9
Воооооооооот. Теперь понятней. Клиенты фактически тоже под линуксом.
А теперь вопрос: для чего вам напрямую обращаться к БД? Штатных средств 1С не хватает?


о каких штатных средствах идет речь?
Напрямую так как MySql база никак не связана с 1С. а данные мне нужно выбрать оттуда. Могу еще поднять там ODBC (unixODBC) но собственно как к нему обратиться из 1С тоже не представляю.
 

Гость
#11
1) Нужно эмулировать Windows-окружение.
http://linuxforum.ru/index.php?showtopic=67121 (это не типичный пример, просто на мысль наводит)
Т.е. если нужно использовать COM-объекты, то ставим программку wine... А потом долго бьёмся, чтобы она видела ADO, которое будет считаться установленным под Linux, а не под Windows.
2) Спросить 1С.
Я так понимаю, что работа не "наколеночная". Значит есть доступ к партнёрскому форуму 1С. Вот там и задать вопрос "как из 1С получить доступ к ADO-сервису". Должны ответить: сами породили - сами пусть и отчитываются :P
3) Эмулировать "сервер без состояния".
Толстый клиент 1C через сервер приложения (типа сервер без состояния) имеет доступ к MySQL. Он же как-то доступ уже имеет :D Правда делает это через API, которым мы воспользоваться не можем (не знаем).
Тогда пишем на скриптовом языке программку, которая будет запускаться из 1С, читать файл команд/данных, записанный через 1С. Затем скрипт делает запрос (через ADO) и пишет это в файл, который в свою очередь читает 1С (тут можно ещё другой файл-флаг использовать для синхронизации). Соответственно, если нужно один раз за сеанс что-то получить из сторонней базы MySQL, то идея будет работать - проблема только с поисками программиста, который напишет скрипт. Если же нужна активная работа... то тогда нужно удивиться, зачем такие сложности в архитектуре :)