База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как подключиться к чужой базе SQL Server и получить данные через 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 11 месяцев назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
14 января 2025 в 17:30 #31129
как подключиться к другой базе sql server и получить данные. Sql server является не базой 1с
-
14 января 2025 в 17:30 #31130
Для подключения к другой базе данных SQL Server из 1С:Предприятие, которая не является базой 1С, можно использовать библиотеку ADODB. Вот пример кода, который демонстрирует, как это сделать:
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
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.