Алгоритмы подключения ADO
Как заполнить параметры подключения ADODB.Connection с помощью DataLinks?
Как получить строку подключения к базе SQL?
Как подключить объект ADODB.Connection?
Как подключить объект ADODB.Command?
Как заполнить параметры подключения ADODB.Connection с помощью DataLinks?
Попытка
Соединение = Новый COMОбъект("ADODB.Connection");
ДатаЛ = Новый COMОбъект("DataLinks");
ДатаЛ.PromptEdit(Соединение);
Исключение
Предупреждение("Не удалось создать подключение!");
КонецПопытки;
Как получить строку подключения к базе SQL?
//Функция возвращает строку подключения к базе SQL
//Если в конфигурации присутствует справочник "Базы данных" и передана ссылка на элемент этого справочника, то строка подключения формируется из справочника
//иначе строка подключения формируется из строковых параметров функции
Функция ВернутьСтрокуПодключения(БД=Неопределено,СерверБазыSQL="",ИмяБазыSQL="",ИмяПользователяSQL="",ПарольПользователяSQL="") Экспорт
СтрокаПодключения = "Provider=SQLOLEDB.1;
|Password="+СокрЛП(?(БД=Неопределено,ПарольПользователяSQL,БД.ПарольПользователяSQL))+";
|User ID="+СокрЛП(?(БД=Неопределено,ИмяПользователяSQL,БД.ПользовательSQL))+";
|Persist Security Info=True;
|Initial Catalog="+СокрЛП(?(БД=Неопределено,ИмяБазыSQL,БД.ИмяБазыSQL))+";
|Data Source="+СокрЛП(?(БД=Неопределено,СерверБазыSQL,БД.СерверБазыSQL));
Возврат СтрокаПодключения;
КонецФункции
Как подключить объект ADODB.Connection?
//Получение объекта adoConnection
Функция ВернутьAdoConnection(БазаДанных = Неопределено, СообщатьОбОшибках=Ложь)Экспорт
Перем adoConnection,ПараметрБазаДанных;
СообщениеОбОшибке = "";
Запрос = Новый Запрос("
|ВЫБРАТЬ ПЕРВЫЕ 1 РАЗРЕШЕННЫЕ
| БД.Ссылка,
| БД.ИмяБазыSQL,
| БД.СерверБазыSQL,
| БД.ПользовательSQL,
| БД.ПарольПользователяSQL
|ИЗ Справочник.кбБазыДанных КАК БД
|ГДЕ БД.Ссылка = &БД");
Если БазаДанных = Неопределено Тогда
ПараметрБазаДанных = Константы.рТекущаяБД.Получить();
Иначе
ПараметрБазаДанных = БазаДанных;
КонецЕсли;
Запрос.УстановитьПараметр("БД",ПараметрБазаДанных);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Попытка
adoConnection = Новый COMОбъект("ADODB.Connection");
adoConnection.Open("Provider=SQLOLEDB;Data Source=" + СокрЛП(Выборка.СерверБазыSQL) + ";Initial Catalog=" + СокрЛП(Выборка.ИмяБазыSQL)
+ ";User ID=" + СокрЛП(Выборка.ПользовательSQL) + ";Password=" + Выборка.Ссылка.ПолучитьОбъект().ПрочитатьПароль(Выборка.ПарольПользователяSQL)
+ ";Persist Security Info=False;");
Исключение
#Если Клиент Тогда
Если СообщатьОбОшибках Тогда
Сообщить("Ошибка инициализации ADO!!!");
Сообщить(ОписаниеОшибки());
КонецЕсли;
#КонецЕсли
КонецПопытки;
КонецЕсли;
Возврат adoConnection;
КонецФункции
Как подключить объект ADODB.Command?
Функция ПолучитьADOCommand(БД) Экспорт
Перем ADOCommand;
СтрокаПодключения = ВернутьСтрокуПодключения(БД);
Попытка
Connection = Новый COMОбъект("ADODB.Connection");
Connection.Open(СтрокаПодключения);
ADOCommand = Новый COMОбъект("ADODB.Command");
ADOCommand.ActiveConnection = Connection;
ADOCommand.CommandTimeout = 300;
Исключение
ADOCommand = Неопределено;
#ЕСЛИ КЛИЕНТ ТОГДА
Ошибка = ОписаниеОшибки();
Сообщить("Не удалось подключить ADO: " + Ошибка);
#КОНЕЦЕСЛИ
КонецПопытки;
Возврат ADOCommand;
КонецФункции