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

  0    0 
29.05.2019 | kievol | 1510

Руководство, облегчающее жизнь при очередной настройке подключения 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();

  • полезные PHP скрипты
    полезные PHP скрипты

    Не так уж конечно и давно, но занимался, в серьёз, PHP программированием, но потом как то забросил. А вот сейчас порой нужно что ни будь дописать, но программирование, как и иностранный язык, без повторений можно всё забыть, а вспоминать — время. Поэтому решил написать не большие, но полезные примеры на php, дабы не забыть и воспользоваться, когда будет нужно.1. Отправка E-mail…

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

    Создаем 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 Если вы…

  • 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 ! После данных…

  • 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 и выделяем строку. Справа нажимаем "Добавить…

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

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

  • Омега 3 від високого холестерину.
    Омега 3 від високого холестерину.

    Атеросклероз, гіпотиреоз, жовчнокам’яна хвороба, цукровий діабет є наслідком підвищеного рівня холестерину в організмі. Гіперхолестеринемія сьогодні не вирок – лікарі довели, що омега 3 від холестерину допомагає найкращим чином. Причини підвищення холестерину Причин…
    Блогер: amd2015

  • Модная одежда по доступной цене в интернет-магазине
    Модная одежда по доступной цене в интернет-магазине

    Решив обновить свой гардероб, вы столкнётесь с проблемой выбора, так как сейчас в специализированных магазинах одежды предлагается огромный выбор товаров, как для мужчин, так и для женщин. К тому же поиск новых вещей отнимет у вас много времени, что неудобно для…
    Блогер: vest

  • Почему я выбрал МЛМ бизнес
    Почему я выбрал МЛМ бизнес

      Добрый день мои дорогие читатели. В этой статье я расскажу о том, почему я выбрал МЛМ бизнес. Немного о себе. Я женат, воспитываю дочку. Последнее время ездил за границу на заработки. В данный момент не могу, так как, болеет моя жена (тромбофлебит, мерцательная аритмия,…
    Блогер: amd2015

  • Низька самооцінка. Як повірити в свої сили
    Низька самооцінка. Як повірити в свої сили

    Щодня нас оточують люди. Всі люди різні. Тому нормально, що поведінка різних людей також різна. Але в той момент, коли нам доводиться виступати перед аудиторією, давати інтерв’ю тощо, ми стикаємося зі страхом, занепокоєнням та невпевненістю. Ми виявляємо, що наша…
    Блогер: amd2015

  • Алкогольна залежність
    Алкогольна залежність

    Чим відрізняється зловживання алкоголем від алкоголізму? Алкоголізм є небезпечною проблемою, яка з часом призводить до ряду проблем зі здоров’ям та емоційних проблем. На ранніх стадіях алкогольна залежність практично непомітна, тому лікувати алкоголіка вже…
    Блогер: amd2015


Комментарии

34 + 86 =