Сама библиотека написана на с++ (17), шаблон взят с сайта ИТС, скомпелирован до win 32, 64.
Принцип работы простой, используете как Внешнюю Компоненту для вызова с Сервера или с Клиента, кому как необходимо
В компоненте предусмотрены свойства: ConnectionString, QuertyString
Оба свойства string
1. ConnectionString имеет формат: "DRIVER={SQL Server};PWD=PassAdmin;UID=admin;SERVER=127.0.0.1"
2. QueryString - строка запроса!!! *есть ограничения
Тестировал на 1С Ent 8.3.18 УТ 11.4
* не работают временные таблицы ... специфика драйвера (вернее, все работает, но необходим вызов иного hendler ... сделаю позже релиз), заменяйте на :with CTE ... тут все норм, а вообще обрабатывает все запросы гораздо надежнее COM - соединения и т.п. ... при этом при задержке ничего не слетает и не требует.
Результат придет сериализованой строкой JSON. есть нюанс работы с++ , к сожалению, массив передать не могу, зашил все в wstring
Код 1С для подключения описан ниже, это кому лень писать самому (исполнение без макета, прямое подключение))
СтрокаПодключения = "DRIVER={SQL Server};PWD=PassAdmin;UID=admin;SERVER=127.0.0.1"
Запрос = "ВАШ ТЕКСТ SQL ЗАПРОСА"
Попытка
результат = ПодключитьВнешнююКомпоненту("....\AddInNativeSql.dll" ,"NativeApiSql", ТипВнешнейКомпоненты.Native);
Драйвер = Новый ("AddIn.NativeApiSql.AddInNativeSql");
Исключение
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ОписаниеОшибки());
КонецПопытки;
СвойстваКомпоненты = Новый Структура("ConnectionString, QueryString", СтрокаПодключения, Запрос);
СвойстваКомпоненты.Свойство("ConnectionString", Драйвер.ConnectionString);
СвойстваКомпоненты.Свойство("QueryString", Драйвер.QueryString);
результатЗапроса = Драйвер.Execute();
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(результатЗапроса);
Данные = ПрочитатьJSON(Чтение);