Здраствуйте. Я учу 1с и пытаюсь понять как именно взаимодействуют 1С и MS SQL.
Вопрос заключается в следующем: У меня есть база данных на MS SQl вот даные:
ИмяСервераSQL = "DESKTOP-B075V4Q\SQLSQUIRREL";
ПользовательSQL = "DESKTOP-B075V4Q\igorb";
ПарольSQL = "";
БазаДанныхSQL = "SuperHero";
ТаблицаSQL = "dbo.SuperHeroTable";
Конкретные вопросы:
1. Как мне прочитать таблицу dbo.SuperHeroTable базы данных SuperHero в 1с? Например вывести все содержимое таблицы. Или сохранить их в 1с.
2. Можно ли напрямую общаться (создавать запросы) с MS SQL, я спрашиваю потому что я где то читал, что это не предпочтительно.
3. Если не стоит создавать запросы напрямую, то как?
Перерыв интернет я не нашел толкогово описания. Вы бы мне очень помогли. Если у вас есть ссылки на данные темы. Было бы так же очень полезно. Заранее большое спасибо.
Вопрос заключается в следующем: У меня есть база данных на MS SQl вот даные:
ИмяСервераSQL = "DESKTOP-B075V4Q\SQLSQUIRREL";
ПользовательSQL = "DESKTOP-B075V4Q\igorb";
ПарольSQL = "";
БазаДанныхSQL = "SuperHero";
ТаблицаSQL = "dbo.SuperHeroTable";
Конкретные вопросы:
1. Как мне прочитать таблицу dbo.SuperHeroTable базы данных SuperHero в 1с? Например вывести все содержимое таблицы. Или сохранить их в 1с.
2. Можно ли напрямую общаться (создавать запросы) с MS SQL, я спрашиваю потому что я где то читал, что это не предпочтительно.
3. Если не стоит создавать запросы напрямую, то как?
Перерыв интернет я не нашел толкогово описания. Вы бы мне очень помогли. Если у вас есть ссылки на данные темы. Было бы так же очень полезно. Заранее большое спасибо.
По теме из базы знаний
- Периодическая загрузка событий из журналов регистрации в базу MS SQL Server (с исходниками)
- Организация файлового хранилища на базе MS SQL Server с доступом из 1С
- За 5 шагов добавляем мониторинг счетчиков производительности серверов MS SQL и 1С
- MS SQL Server: ваши статистики не работают! Так ли все плохо на самом деле?
- Мигрируем с MS SQL на PostgreSQL
Найденные решения
(1) Как вариант через ADODB.Connection. Код будет примерно такой, возможно, со строкой подключения придется поиграться:
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Open("Provider=SQLOLEDB;Server=DESKTOP-B075V4Q\SQLSQUIRREL;DataBase=SuperHero;User ID=DESKTOP-B075V4Q\igorb;Password=");
Выборка = Соединение.Execute("SEL ECT * FR OM SuperHeroTable");
Если Не Выборка.EOF Тогда
Данные = Выборка.GetRows().Выгрузить();
КонецЕсли;
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Как вариант через ADODB.Connection. Код будет примерно такой, возможно, со строкой подключения придется поиграться:
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Open("Provider=SQLOLEDB;Server=DESKTOP-B075V4Q\SQLSQUIRREL;DataBase=SuperHero;User ID=DESKTOP-B075V4Q\igorb;Password=");
Выборка = Соединение.Execute("SEL ECT * FR OM SuperHeroTable");
Если Не Выборка.EOF Тогда
Данные = Выборка.GetRows().Выгрузить();
КонецЕсли;
(3) В интернете я нарыл такой вариант, но при попытке отладки, он выдает такое сообщение. В чем может быть ошибка?
&НаКлиенте
Процедура ВыполнитьОбработку()
//Инициализация переменных
ИмяСервераSQL = "DESKTOP-B075V4Q\SQLSQUIRREL";
ПользовательSQL = "DESKTOP-B075V4Q\igorb";
ПарольSQL = "";
БазаДанныхSQL = "SuperHero";
ТаблицаSQL = "dbo.SuperHeroTable";
//Подключение к SQL-серверу
Попытка
Соединение = Новый COMОбъект("ADODB.Connection");
Команда = Новый COMОбъект("ADODB.Command");
Выборка = Новый COMОбъект("ADODB.RecordSet");
Соединение.ConnectionString =
"driver={SQL Server};" +
"server="+ИмяСервераSQL+";"+
"uid="+ПользовательSQL+";"+
"database="+БазаДанныхSQL+";";
Соединение.ConnectionTimeout = 30;
Соединение.CommandTimeout = 600;
//Открытие соединение
Соединение.Open();
Команда.ActiveConnection = Соединение;
Сообщить("Успешное подключение!");
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
КонецПроцедуры
ВыполнитьОбработку();
ПоказатьПрикрепленные файлы:
Соединение.ConnectionString =
"driver={SQL Server};" +
"server="+ИмяСервераSQL+";"+
"uid="+ПользовательSQL+";"+
"pwd="+ПарольSQL+";"+
"database="+БазаДанныхSQL+";";
Логин не проходит пропущен пароль пользователя SQL
"driver={SQL Server};" +
"server="+ИмяСервераSQL+";"+
"uid="+ПользовательSQL+";"+
"pwd="+ПарольSQL+";"+
"database="+БазаДанныхSQL+";";
Логин не проходит пропущен пароль пользователя SQL
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот