Ошибка «Недопустимый оператор SQL» при попытке выполнить хранимую процедуру SQL Server из Access
Я работаю на виртуальной машине, где мой SQL-сервер и MS Access находятся. Я установил соединение ODBC из Access to SQL и связал несколько таблиц. Я могу выполнять обычные операции над этими таблицами (выбрать / обновить и т. Д.).
НО я не могу запустить хранимую процедуру по какой-то странной причине! Процедура отлично работает в SSMS, но не тогда, когда я вызываю ее из Access VBA. Ниже приведен код, который я использую для выполнения процедуры (мне также нужно передать 3 параметра, но я исключил это из приведенного ниже кода для простоты):
With CurrentDb.QueryDefs("qPass")
.SQL = "exec [HS].[spGetXMLExtract]"
.Execute
End With
Ошибка, возвращаемая MS Access
Неверный оператор SQL: ожидается «DELETE», «INSERT», «PROCEDURE», «SELECT» или «UPDATE».
Не знаю, происходит ли это, потому что: 1. У меня есть эти приложения на ВМ; и / или 2. Мне нужно как-то связать хранимую процедуру с MS Access так же, как я делал для таблиц (возможно, этого нельзя сделать).
Я предполагаю, что есть запутанные методы, которые я «мог бы» принять, но я не хочу. Пример:
1. Создать таблицу в SQL со столбцами, в которых хранятся параметры; НаписатьAFTER UPDATE
Триггер на той таблице, которая выполняет мою хранимую процедуру; Запустите запрос «Обновление» из MS Access, который обновит параметры в этой таблице, и триггер SQL будет запущен. ИЛИ ЖЕ;
2. Полностью исключите хранимую процедуру из уравнения и выполните ее отдельные операторы (выберите / обновите / вставьте и т. Д.) Через подпрограмму в MS Access. Не знаю, может ли это вызвать проблемы с созданием временных таблиц.
Может кто-нибудь посоветовать, пожалуйста, это настоящий блокиратор!
Заранее спасибо!