Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> ADODB.Command , Ошибка синтаксиса или нарушение прав доступа          
onsamuy Подменю пользователя
сообщение 30.01.14, 16:29
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 265
Спасибо сказали: 71 раз
Рейтинг: 0

Доброго дня. На сервере sql есть хранимая процедура. При попытке выполнения возникает ошибка

Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Ошибка синтаксиса или нарушение прав доступа.

Что я делаю:

1. Создаю соединение с базой
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Open("Provider=SQLOLEDB.1;Password=DE1;Persist Security Info=True;User ID=1c;Data Source=ELEKS\DOCTORELEKSSQL");


2. Создаю комманду и передаю хранимую процедуру
Комманда = Новый COMОбъект("ADODB.Command");     
Комманда.CommandText ="exec spReport1cExport @FilterXML=N'<Filter><StartDate>2012-12-01T00:00:00</StartDate>
                                                                  <EndDate>2014-12-31T23:59:59</EndDate><AccountTypes><value>2</value><value>84</value></AccountTypes>
                                                                  <CashFilter><value>CRD</value></CashFilter></Filter>', @Login='1c', @DoApply=1";

Комманда.ActiveConnection = Соединение;
Комманда.CommandType = 4;

// Вызываем процедуру на выполнение
РекордСет = Комманда.Execute();
  
Пока РекордСет.EOF = 0 Цикл
      
       //--------------перебор записей

        РекордСет.MoveNext();      
КонецЦикла;


На строке РекордСет = Комманда.Execute(); вываливается ошибка
Ошибка синтаксиса или нарушение прав доступа.


Причем если не задаю CommandType (вроде по мануалу параметр опциональный, влияет только на производительность), Execute() проходит, но уже на переборе
Пока РекордСет.EOF = 0 Цикл
выдает ошибку
"Операция не допускается если объект закрыт".

Сообщение отредактировал Vofka - 30.01.14, 16:56

logist Подменю пользователя
сообщение 30.01.14, 16:42
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата
CommandType = 4;

Есть подозрение что 2, 4 и 8 не работает через ADODB.

Можете еще попробовать добавить:
Комманда.CommandText ="storedproc";



Signature
Личные бесплатные консультации не даю, для этого есть форум!

onsamuy Подменю пользователя
сообщение 30.01.14, 17:48
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 265
Спасибо сказали: 71 раз
Рейтинг: 0

Это капец. Люди пробовали на сервере непосредственно выполнять мою строку, которую я передаю в CommandText, нормально возвращает. OLE рулит кароч...

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 17:04
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!