powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
9 сообщений из 9, страница 1 из 1
ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
    #36394922
zagrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую местное комьюнити.

Возникла следующая проблема.
Имеем:
среда разработки 1С
Необходимо
сделать запрос к MS SQL Server 2005 и вернуть в 1С результат запроса.

Проблема:
Если в тексте запроса есть print или есть вызов хранимой процедуры, которая содержит в своем коде print, то рекордсет не возвращается.

Простой пример.

Connection = СоздатьОбъект("ADODB.Connection");
СтрокаПодключения = "Provider=SQLOLEDB.1......
Connection .Open( СтрокаПодключения );

СтрокаЗапроса = "
|print '123'
|select '1'
|";
...
RecordSet = Connection.Execute(СтрокаЗапроса..)
..
Cообщить(RecordSet.Fields(0).Value);

При выполнении 1С ругается, в данном случае так:
ADODB.Recordset: Не удается найти объект в семействе, соответствующий требуемому имени или порядковому номеру.

Если print закомментировать, то отработает успешно, вернет 1
Вопрос: как победить?
...
Рейтинг: 0 / 0
ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
    #36396310
zagrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
народ, ну помогите, есть же тут светлые головы)))
...
Рейтинг: 0 / 0
ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
    #36396461
Nenorma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
31-го числа выкинул тему - а 2-го выпрашиваешь ответ. Ты какой-то не такой .... Новый год не про тебя ?? ))
...
Рейтинг: 0 / 0
ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
    #36396466
Nenorma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zagrrПриветствую местное комьюнити.


Проблема:
Если в тексте запроса есть print или есть вызов хранимой процедуры, которая содержит в своем коде print, то рекордсет не возвращается.

Простой пример.

Connection = СоздатьОбъект("ADODB.Connection");
СтрокаПодключения = "Provider=SQLOLEDB.1......
Connection .Open( СтрокаПодключения );

СтрокаЗапроса = "
|print '123'
|select '1'
|";
...
RecordSet = Connection.Execute(СтрокаЗапроса..)
..
Cообщить(RecordSet.Fields(0).Value);

При выполнении 1С ругается, в данном случае так:
ADODB.Recordset: Не удается найти объект в семействе, соответствующий требуемому имени или порядковому номеру.

Если print закомментировать, то отработает успешно, вернет 1
Вопрос: как победить?

Я сам не очень рублю - но по-моему сугубо личному мнению ошибка здесь в том, что 1с у нас одинаково воспринимает операторы как на русском "ПЕЧАТЬ" так и на английском "PRINT" - в последствии - после изьятия кода он пытается обработать этот принт как свой оператор - и его корежит. Как бороться если ошибка в этом незнаю в силу малых знаний ))))) Вобщем с Новым Годом!!!!
...
Рейтинг: 0 / 0
ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
    #36396613
zagrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nenorma,
)))))))))))))
Вас тоже с Новым Годом.
...
Рейтинг: 0 / 0
ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
    #36397075
OLEDB driver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что тут побеждать? Команда Print создает отдельный рекордсет, который наряду с результатом селекта передается сервером клиентскому приложению. 1C берет первый попавшийся - он оказывается не тем, что вы ожидаете. Выход один - закомментарить print.
...
Рейтинг: 0 / 0
ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
    #36397275
NextRecordset
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OLEDB driver. Выход один - закомментарить print.
Set rs = rs.NextRecordset - не судьба сделать?
...
Рейтинг: 0 / 0
ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
    #36397952
OLEDB driver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NextRecordsetOLEDB driver. Выход один - закомментарить print.
Set rs = rs.NextRecordset - не судьба сделать?Я-то в дельфе так и делаю. А в 1С так можно сделать ?
...
Рейтинг: 0 / 0
ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
    #36399233
zagrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OLEDB driver, да....спс..это и требовалось....чет я забыл про NextRecordSet()
;)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ADO запрос из 1С к MS SQL Server, ошибка, если в строке запроса есть оператор print
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]