Недавно поступил интересный заказ на выгрузку товаров напрямую в MySQL и в этой статье я расскажу, как это было реализовано!
Подготовка
1-ое что необходимо, это установить ODBC драйвер от MySQL (https://dev.mysql.com/downloads/connector/odbc/ )
Код в 1с
Для подключения к My SQL необходимо создать COM-объект - ADODB.Connection:
Соединение = Новый COMОбъект("ADODB.Connection");
Затем вызвать метод
Соединение.ConnectionString = ТутСтрокаСоедениния; //ТутСтрокаСоедениния ниже описание
Соединение.Open()
Строка соединения имеет следующий формат:
"DRIVER={MySQL ODBC 8.0 Unicode Driver}; //ТУТ версия драйвера может быть другая
SERVER=АдресСервера;//Можно IP, или DNS имя
DATABASE=БазаДанныхMySQL;
UID=ПользовательMYSQL;
PWD=ПарольMySQL;
MULTI_STATEMENTS=1; //Этот параметр позволяет формировать пакетные запросы в MySQL
STMT=SET CHARACTER SET utf8" //Кодировка
Дальше возможны 2 варианта работы с MySQL 1-ый добавлять данные в MySQL
Для этого используем метод
Соединение.Execute(ЗапросВSQL);
2-ой вариант чтение данных, для этого используем следующую комбинацию команд
//Получаем данные
RS = Новый COMОбъект("ADODB.Recordset");
RS.CursorType=3;
RS.ActiveConnection=Соединение;
RS.Open(ЗапросВSQL);
//Перемещаем указатель на первую запись.
RS.MoveFirst();
Пока RS.EOF()=0 Цикл //перебираем записи в MySQL
RS.DataSource.Fields.Item(Сч).Value // получаем данные с поля
КонецЦикла;
К этой статье я приложил простенькую консоль в виде внешней обработки.