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. Если Вам помогла эта статья - я был бы благодарен, если б Вы поставили на нее ссылочку в хорошем месте. Спасибо :)
Вот теперь точно все :)
February 15th, 2011 at 9:38
Спасибо! Диплом пишу, помогло разобраться!
January 30th, 2013 at 16:42
Уже есть бесплатный видео урок по связке 1С 8.2 и MySQL
ССЫЛКА на материал ( сайт в комментарии )
February 3rd, 2013 at 12:54
Большое спасибо! Перебрала в инете много модулей по выборке записей MySQL, но помог только Ваш. Успехов Вам!