1С 8.x Linux + Mysql

Тема в разделе "1C и всё что с ней связано", создана пользователем Kromf73, 13 апр 2009.

  1. Kromf73

    Kromf73 Гость

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

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

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

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Используйте драйвер, который позволяет подключаться к этой базе и будет вам счастье.
     
  3. Kromf73

    Kromf73 Гость


    так вот как его использовать то?) в этом и вопрос.
    Какой метод 1С позволяет использовать драйвер?
     
  4. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    судя по всему, вот этот:
    Новый COMОбъект ("ADODB.Connection");
    Только надо правильно прописать строку соединения.
     
  5. Kromf73

    Kromf73 Гость


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

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    брррррррр. ничего не понял из вашего письма.
    клиентская часть установлена на винде?
    ставьте на клиенте драйвер для доступа к MySQL, прописываете строку соединения к вашей базе. и вперед, используя ADO и все его возможности.
     
  7. Kromf73

    Kromf73 Гость


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

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

    vitfil IT-интегратор

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

    Kromf73 Гость



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

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Интересная задача. Надо подумать...
     
  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, то идея будет работать - проблема только с поисками программиста, который напишет скрипт. Если же нужна активная работа... то тогда нужно удивиться, зачем такие сложности в архитектуре :)
     
Загрузка...

Поделиться этой страницей