Війти
1c Установка подключения к MySQL через ODBC connector

  0    0 
29.05.2019 | kievol | 1488

Руководство, облегчающее жизнь при очередной настройке подключения MySQL к 1С через ODBC connector (driver). Оставлю это хотя бы для себя на память :)

Итак, для того, чтобы настроить связь между MySQL и 1С нужно:

1. Скачать дистрибутив установки ODBC connector.

Я обычно пользуюсь ODBC 5.3 Unicode driver, он еще называется 5.3.0 alpha, скачать можно здесь https://downloads.mysql.com/archives/c-odbc/).

Устанавливать нужно на сервер, на котором лежит база данных. То есть, если в пути к базе написано "10.80.11.30", то и устанавливаем на сервер 10.80.11.30, если в пути к базе написано "localhost", то и устанавливаем на этот же сервер "localhost", ну вы понимаете.

Если в процессе установки возникает ошибка "Error 1318:Error installing ODBC Driver ....... the specified module could not be found ... myodbc5s.d ...", значит на сервере не хватает пакета "Microsoft Visual C++ 2010 Redistributable Package", скачать можно здесь https://www.microsoft.com/en-us/download/confirmation.aspx?id=14632 (x64) и здесь https://www.microsoft.com/en-us/download/confirmation.aspx?id=5555 (x86). Если вы взяли версию драйвера отличную от моей любимой ODBC 5.3 Unicode driver, то пакет, необходимый для установки ODBC может быть и другой, ориентируйтесь на название недостающего компонента в описании ошибки, и вы обязательно найдете какого именно пакета Microsoft Visual C++ вам не хватает. Пакет Microsoft Visual C++ нужно тоже установить и для 32-х разрядной системы, и для 64-х разрядной.

2. Настроить ODBC connector.

Для работы с базами данных часто используют псевдонимы (alias). Псевдоним БД - это имя некоторой базы данных, которое прописывается в настойках таким образом, что для обращения к таблицам данной базы достаточно указать alias. Это удобство позволяет легко менять тип БД, не меняя текста программ. Рассмотрим принцип определения псевдонима БД Microsoft Access, хранящейся в файле db.mdb на сервере. Предположим, мы хотим, чтобы псевдоним db соответствовал данной БД. Для этого необходимо запустить Администратор источников данных ODBC (Пуск \ Настройка \ Панель управления \ Администрирование \ Источники данных (ODBC)):

Далее, в разделе "Системный DSN" следует добавить новый псевдоним, выбрав соответствующий драйвер:

После нажатия на кнопку "Готово" остается указать имя источника "db" и путь к файлу:

Нажатием кнопки "Ок" в системе появится псевдоним "db" к базе данных, который можно будет использовать при обращении к файлу db.mdb . Следует заметить, что аналогичным образом можно указать псевдоним и к другим СУБД, при этом принцип реализации веб-интерфейса к БД не изменится.

Заметим, что для работы с файлами *.mdb можно работать и без псевдонима, т.е. вместо подключения
   DSN = "db"
можно использовать одно из следующих подключений:
   DSN = "Driver={Microsoft Access Driver (*.mdb)}; PWD=; DBQ=c:\Inetpub\wwwroot\dhtml\db.mdb"
   DSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\Inetpub\wwwroot\dhtml\db.mdb"

Здесь видно, что при подключении используется полный путь к файлу, что менее практично.

3. Если соединение не устанавливается, проверяем, что в MySQL не наложены ограничения на IP, с которых осуществляется подключение. Если это не помогло, можно установить MySQL Workbench (https://www.mysql.com/products/workbench/), добавить туда базу данных MySQL и протестировать подключение - у Workbench более информативные сообщения об ошибке, зачастую с первого раза понятно куда копать.

4. После всех манипуляций можно выпить бокальчик вина и создать обработку работы с базой MySQL. Это очень просто:   

АДОСоединение = Новый 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: ТекстЗапроса = "SELECT ITEMS.ID FROM ITEMS"; Table = АДОСоединение.Execute(ТекстЗапроса); Пока Table.EOF() = 0 Цикл Сообщить(Table.Fields("ID").Value); Table.MoveNext(); КонецЦикла; Table.Close();

  • Параметры вставки youtube видео на сайт и секреты
    Параметры вставки youtube видео на сайт и секреты

    Youtube.com — самый известный видео хостинг, миллионы уже загруженных видео-роликов.Вы захотели добавить видео к себе на страницу. <iframewidth="560"height="315"src="//www.youtube.com/embed/2GbSpPxzDeY"frameborder="0"allowfullscreen> Но чтобы немного изменить вид и действие плеера, есть несколько параметров.Параметры добавляются в src после знака вопроса (?), а все последующие – через амперсанд & или…

  • IIS и 1С ошибки: Обнаружено потенциально опасное значение Request.Path или ошибка 500
    IIS и 1С ошибки: Обнаружено потенциально опасное значение Request.Path или ошибка 500

    Ошибка примерно такая:[HttpException (0x80004005): Обнаружено потенциально опасное значение Request.Path, полученное от клиента (:).] System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9914812 System.Web.PipelineStepManager.ValidateHelper(HttpContext context) +53Алгоритм следующий:  Открываем IIS. Открываем наш сайт-публикацию в браузере. Идем в сопоставления обработчиков. Ищем ISAPI-dll и выделяем строку. Справа нажимаем "Добавить…

  • Apache падает
    Apache падает

    В логах /var/log/apache2/error.log Апач внезапно падает [timestamp] [mpm_event:notice] [pid 20056:tid 140176783820672] AH00493: SIGUSR1 received. Doing graceful restart [timestamp] [core:notice] [pid 20056] AH00060: seg fault or similar nasty error detected in the parent process Соответсвенно сайты уходят в 502 Bad Gateway. У меня эта проблема была из-за программы logrotate и в неточности в насройках. $ sudo nano /etc/logrotate.d/apache2 В этом файле нежно сменить apache2 reload на apache2 restart ! После данных…

  • Автоматический перезапуск программы после закрытия
    Автоматический перезапуск программы после закрытия

    Создаем bat файл со следующим содержимым @echo offecho Starting process...echo.:EnterNameSet /p Process="Enter process name:"IF NOT EXIST %Process% GOTO EnterName:begintitle Process %Process% controltasklist | findstr %Process%if errorlevel 1 goto NoProcessecho Result: Process rungoto Done:NoProcess%Process%echo Result: Process %Process% stop %time%:Doneecho.goto beginpauseexit   Файл bat данного содержания нужно поместить в папку с вашим исполняемым файлом. При запуске он спросит имя файла - нужно ввсети в формате Name.exe Если вы…

  • 1с - Настройка вывода на печать табличного документа
    1с - Настройка вывода на печать табличного документа

    В основном все информационные материалы по программированию в 1С при описании создания печатных форм на основе "Табличный документ" ограничиваются простым выводом готовой формы документа на экран. Но этого не всегда достаточно, и на много важнее то, как этот документ будет выглядеть в распечатанной форме на листе бумаги. Далее будем рассматривать свойства и методы табличного…

  • Виступаючий живіт. Вирішуємо цю проблему швидко.
    Виступаючий живіт. Вирішуємо цю проблему швидко.

    Виступаючий живіт – це загальне визначення порушення пропорцій фігури. Надлишок жиру, що зберігається в черевній порожнині, може спричинити хвороби серця, тромбоз, цироз печінки та діабет. І легше запобігти, ніж лікувати. У зв’язку з цим неестетичний вигляд живота має…
    Блогер: amd2015

  • 6 ПРАВИЛ ЗДОРОВОГО ХАРЧУВАННЯ.
    6 ПРАВИЛ ЗДОРОВОГО ХАРЧУВАННЯ.

    Щоб скинути зайву вагу, ви займаєтеся фітнесом, аеробікою, плаванням або іншим видом спорту. Для руху потрібна енергія, яку ми отримуємо з їжі. Для хорошого результату необхідно знайти баланс здорових продуктів, які довго триматимуть ваше відчуття ситості і будуть…
    Блогер: amd2015

  • Заказать хостес
    Заказать хостес

    Сервис Youneed с радостью поможет в подборе парней и девушек хостес для Вашего мероприятия или выставки. Наш квалифицированный персонал отлично справится с поставленными задачами и способен сделать любую акцию или мероприятие более эффектным и продуктивным. …
    Блогер: YouneedS

  • Выбор отопления для дома
    Выбор отопления для дома

        Во время строительства дома нашей мечты, мы должны уделить некоторое внимание анализу всех доступных способов обогрева здания. Это будет ключевой выбор, который будет определять, помимо прочего, сколько в конечном счете будет стоить отопление помещений. Одной…
    Блогер: amd2015


Комментарии

94 + 89 =