1С (1C) и MySQL: подключение пошагово

Описание доступа к MySQL базе данных из 1С, НЕ перенос 1C на эту базу.

0. Предполагается, что 1С и MySQL уже есть, настроены и работают нормально. На MySQL известна хотя бы одна таблица с данными и полями в ней.
1. Зайдите в “Панель управления” - “Администрирование” - “Источники данных (ODBC)”, выберите там вкладку “Драйверы”. Среди множества драйверов там должен быть и MySQL. Если есть - переходим к п. 3
2. Нужно скачать и установить драйвер - отсюда. Выбирайте ODBC, затем я выбирал “MySQL Connector/ODBC 5.1 Windows MSI Installer (x86)”. Если у вас очень старый MySQL, возможно, имеет смысл взять 3.51, но 5.1 заработал с MySQL 5.0.
После установки проверьте источники данных еще раз - драйвер должен появиться.
3. В 1С пишем:

con = СоздатьОбъект("ADODB.Connection");
cmd = СоздатьОбъект("ADODB.Command"); 

//следующие 2 строки - на самом деле одна. Никто не мешает вынести ее в переменную, при желании.
con.Open ("DRIVER={MySQL ODBC 5.1 Driver};SERVER=server-ip;PORT=3306;
DATABASE=dbname;uid=user;pwd=pass;”);

cmd.ActiveConnection = con; 

Обратите внимание, раньше вместо 5.1 писалось 3.51. Если Вы допустите в той строке ошибку, то получите

Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

4. При ошибке

Access denied for user ‘user‘@’user-ip‘ (using password: YES)

нужно разрешить доступ данному пользователю к данной базе с данного хоста.
Лично я это делаю так:
grant all privileges on dbname.* to user@’user-ip‘ IDENTIFIED BY ‘pass‘;

5. Получаем данные в цикле:

Сет = CreateObject("ADODB.Recordset");
ТекстЗапроса = "select id, name from table;";
Сет.Open (ТекстЗапроса, con, 1);
Пока Сет.EOF() = 0 Цикл
	Сообщить (" id="+Сет.Fields.Item("id").value+" name="+Сет.Fields.Item("name").value);
	Сет.MoveNext();
КонецЦикла;
con.Close()

6. Изменение, вставка:

cmd.CommandText = "UPDATE table set name='qqqqq' WHERE id='sample'";
cmd.Execute();

почти все:)

7. Если Вам помогла эта статья - я был бы благодарен, если б Вы поставили на нее ссылочку в хорошем месте. Спасибо :)

Вот теперь точно все :)

» »

3 Responses to “1С (1C) и MySQL: подключение пошагово”

  1. Сергей Says:

    Спасибо! Диплом пишу, помогло разобраться!

  2. bizneswork Says:

    Уже есть бесплатный видео урок по связке 1С 8.2 и MySQL

    ССЫЛКА на материал ( сайт в комментарии )

  3. Светлана Says:

    Большое спасибо! Перебрала в инете много модулей по выборке записей MySQL, но помог только Ваш. Успехов Вам!

Оставить комментарий - Feel free to ask me in English

Он появится после того, как будет одобрен. - All comments are pre-moderated.

Внимание! Пожалуйста, не пишите в комментарии [url=... или [url]... - это будет считаться спамом. Если хотите дать ссылку - пишите просто адрес, до 2х на один коммент.
Attention! Please don't use "[url=..." or "[url]..." in comment's body or it will be deleted as spam
If you want to send me a link just type url, up to 2 urls in one comment.

Спасибо за отзыв! Thank you for a comment!