База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как подключиться к чужой базе SQL Server и получить данные через 1С? › RE: Как подключиться к чужой базе SQL Server и получить данные через 1С?
Для подключения к другой базе данных SQL Server из 1С:Предприятие, которая не является базой 1С, можно использовать библиотеку ADODB. Вот пример кода, который демонстрирует, как это сделать:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | 1C Функция ПодключитьсяКSQL(Сервер, База, Пользователь, Пароль) Экспорт // Создаем объект подключения Connection = Новый COMОбъект("ADODB.Connection"); // Формируем строку подключения СтрокаПодключения = "Provider=SQLOLEDB.1;Data Source=" + Сервер + ";Initial Catalog=" + База + ";User ID=" + Пользователь + ";Password=" + Пароль + ";"; // Открываем соединение Попытка Connection.Open(СтрокаПодключения); Исключение Сообщить("Ошибка подключения: " + ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; Возврат Connection; КонецФункции Функция ПолучитьДанные(ТекстЗапроса, Connection) Экспорт // Создаем объект команды Command = Новый COMОбъект("ADODB.Command"); Command.ActiveConnection = Connection; Command.CommandText = ТекстЗапроса; // Выполняем запрос Результат = Command.Execute(); // Создаем таблицу значений для хранения результатов Таблица = Новый ТаблицаЗначений; // Добавляем колонки в таблицу Для НомерСтолбца = 0 По Результат.Fields.Count - 1 Цикл Таблица.Колонки.Добавить(Результат.Fields(НомерСтолбца).Name); КонецЦикла; // Заполняем таблицу данными Пока Не Результат.Eof Цикл НоваяСтрока = Таблица.Добавить(); Для НомерСтолбца = 0 По Результат.Fields.Count - 1 Цикл НоваяСтрока[Результат.Fields(НомерСтолбца).Name] = Результат.Fields(НомерСтолбца).Value; КонецЦикла; Результат.MoveNext(); КонецЦикла; Возврат Таблица; КонецФункции // Пример использования Сервер = "Имя_Сервера"; База = "Имя_Базы"; Пользователь = "Имя_Пользователя"; Пароль = "Пароль"; Connection = ПодключитьсяКSQL(Сервер, База, Пользователь, Пароль); Если Connection Неопределено Тогда ТекстЗапроса = "SELECT * FROM ВашаТаблица"; // Замените на ваш SQL-запрос Данные = ПолучитьДанные(ТекстЗапроса, Connection); Connection.Close(); // Обработка полученных данных Для Каждого Строка Из Данные Цикл Сообщить(Строка.Имя_Вашей_Колонки); // Замените на имя колонки КонецЦикла; КонецЕсли; |
В этом коде:
1. Функция ПодключитьсяКSQL
создает соединение с указанной базой данных SQL Server.
2. Функция ПолучитьДанные
выполняет SQL-запрос и возвращает результаты в виде таблицы значений.
3. Пример использования показывает, как подключиться к базе данных, выполнить запрос и обработать полученные данные.
Рекомендую посмотреть здесь: https://helpf.pro/faq8/view/915.html