Уведомления
Очистить все

Запрос к MS-SQL базе из 1С через SQLDMO

1 Записи
1 Пользователи
0 Likes
326 Просмотры
96-150 Okolokompa Форум
(@sadovod)
Prominent Member
Присоединился: 4 года назад
Записи: 258
Создатель темы  

Базой может быть любая БД, как 1С так и не 1С; можно обращаться к текущей БД, за исключением тех случаев, когда БД уже открыта в SingleUserMode - монопольный режим 1С.

переменные:
скульЛогин - имя пользователя MS-SQL
скульПасс - пароль
скульСерверБД - имя сервера MS-SQL
скульИмяБД - имя БД
скульЗапрос- SQL запрос

ТЗ - таблица значений, куда будет помещен результат запроса.

   SQLDMOServer = СоздатьОбъект("SQLDMO.SQLServer");
   SQLDMOServer.Connect(скульСерверБД,скульЛогин,скульПасс);
   //
   Rs = SQLDMOServer.Databases(скульИмяБД).ExecuteWithResults(скульЗапрос);
   
   ТЗ.Очистить();
   рЗстрок = Число(Rs.Rows);
   рЗколонок = Число(Rs.Columns);
   Состояние(">>> " + РзСтрок + "строк X " + Rs.Columns + " колонок");
   
   Для сч = 1 по рзКолонок цикл
	   ТЗ.НоваяКолонка(,,,,"" + Rs.ColumnName(сч),7,);
   КонецЦикла;
   
   Для счС = 1 по рЗстрок цикл
	   ТЗ.НоваяСтрока();
	   Для счК = 1 по рЗколонок цикл
		   стр = Rs.GetColumnString(СчС ,СчК);
		   ТЗ.УстановитьЗначение(счС,счК,стр);
	   КонецЦикла;
   КонецЦикла; // по строкам

   
Цитата
Поделиться: