У меня есть задача Выполнить SQL, которая пытается выполнить хранимую процедуру, например:
EXEC usp_stored_proc ?, ?, ? OUTPUT, ? OUTPUT;
У меня есть 4 переменные, сопоставленные с параметрами. Игнорируя выходные параметры, обе эти строки сопоставляются с параметрами NVARCHAR (как и ожидалось хранимой процедурой).
Когда я запускаю пакет, ошибка говорит мне, что выполнение завершилось неудачно с сообщением строка ввода не в правильном формате . Однако, когда я использую точку останова, чтобы найти значения времени выполнения для входных параметров (или, по крайней мере, переменных, сопоставленных с ними) и выполнить ту же строку SQL в SSMS, используя значения времени выполнения, все работает нормально.
Может кто-нибудь помочь? Я в конце моей привязи с этим. Я даже не могу найти точный параметр, вызывающий проблему, хотя, вероятно, оба значения имеют одинаковый формат.
Подробнее:
- Тип подключения: OLE DB
- Входная переменная: String =
schema.table
- Сопоставленный параметр:
NVARCHAR
, ParamName = 0
, ParamSize = -1
ОБНОВЛЕНИЕ
Решена проблема путем создания нового компонента execute sql, который вызывает урезанный процедура. Затем я медленно добавил строки кода к процедуре и дополнительные параметры, пока не пришел к тому же компоненту, с которого начал, и теперь он работает. Сравнивая исходные и восстановленные задачи, я не вижу абсолютно никаких отличий (как и с процедурой), поэтому я не знаю, почему возникла эта проблема.