1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// Пример 1 Сервер="IP-адрес-сайта"; // IP адрес сайта ПользовательСервера="имя-пользователя-базы-данных"; // имя пользователя базы данных ПарольСервера="пароль-пользователя-базы-данных"; // пароль пользователя базы данных БазаСервера="название-SQL-базы-данных"; // название SQL базы данных Соединение = Новый COMОбъект("ADODB.Connection"); Соединение_param = "driver={MySQL ODBC 5.1 Driver}; server="+СокрЛП(Сервер)+"; uid="+СокрЛП(ПользовательСервера)+"; pwd="+СокрЛП(ПарольСервера)+"; database="+СокрЛП(БазаСервера)+"; STMT=SET CHARACTER SET utf8"; Try Соединение.open(Соединение_param); СоединениеУстановлено = Истина; Сообщить("Соединение установлено"); Except ТекстСообщения = ""+ТекущаяДата()+" Connection error: "+ОписаниеОшибки(); Сообщить(ТекстСообщения); СоединениеУстановлено = Ложь; return; EndTry; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
]// Пример 2 Соединение = Новый COMОбъект("ADODB.Connection"); ConnectionString = "driver={SQL Server}; server=; uid=; Pwd=; Database = "; // это для MS SQL строка Попытка Соединение.Open(ConnectionString); Сообщить("Соединение осуществлено в "+ТекущаяДата()); Исключение Предупреждение("Невозможно установить соединение"); Возврат; КонецПопытки; ТекстЗакпроса = "...................."; НаборЗаписей = Новый COMОбъект("ADODB.RecordSet"); НаборЗаписей.ActiveConnection = Соединение; НаборЗаписей.Open(ТекстЗапроса); Пока не НаборЗаписей.Eof() Цикл // ............код обработки..................... НаборЗаписей.MoveNext(); КонецЦикла; НаборЗаписей.Close(); Соединение.Close(); Сообщить("Обработка завершена в "+ТекущаяДата()); |
1 2 3 4 5 6 7 8 9 10 11 |
DB = СоздатьОбъект("ODBCDatabase"); DB.Соединение("DRIVER={MySQL ODBC 5.1 Driver}; SERVER=IP_Супер_мега_сервера; DATABASE=Мега_база; USER=Супер_юзер; PASSWORD=пароль_супер_мега_юзера; OPTION=3;"); RS = СоздатьОбъект("ODBCRecordSet"); RS.SetDatabase(DB); Если RS.Выполнить("set names cp1251") = 0 Тогда Сообщить("Ошибка подключения к MySQL" + РазделительСтрок + RS.ПолучитьОписаниеОшибки()); СтатусВозврата(0); Возврат; КонецЕсли; |
Используя DSN. Большой плюс dsn есть режим проверки и также в текстах 1с
уже не нужен пользователь и пароль. Все детали скрыты в dsn
вот мой успешно работающий код для MY SQL
1 2 3 4 5 6 7 8 9 10 11 |
sql = СоздатьОбъект("ODBCDatabase"); Имя0 = "DragNet"; Фл1 = sql.Соединение("DSN=" + Имя0 + ";"); Если Фл1 = 0 Тогда Сообщить("Не смогли открыть DSN = " + Имя0); Сообщить("Ошибка = " + sql.ПолучитьОписаниеОшибки() ); Иначе sql.УстТолькоЧтение(1); КонецЕсли; rc = СоздатьОбъект("ODBCRecordSet"); rc.УстБД(sql); |
еще, драйвер 3.51:
1 2 3 4 5 6 7 8 9 |
//Тестируем установку параметров соединения клМускул = СоздатьОбъект("ODBCDatabase"); клМускул.СтрокаСоединения = "Driver={MySQL ODBC 3.51 Driver};Server=localhost; |Port=3306;Database=_1c;User=_1c_user; Password=_1c_pass; |Option=3;"; Результат = клМускул.СтрокаСоединения; ПроверитьРавенство(Результат,"Driver={MySQL ODBC 3.51 Driver};Server=localhost; |Port=3306;Database=_1c;User=_1c_user; Password=_1c_pass; |Option=3;"); |