У меня возникла проблема с задачей в моем пакете SSIS 2012. Я создаю пакет (в порядке убывания):Вызов хранимой процедуры в ssis 2012
- усечь данные в таблице SQL Server
- заполнить эту таблицу с помощью плоского текстового файла
- то выполнение хранимой процедуры
- затем экспортировать данные в Excel
в таблице Я использую называется dbo.ClientData
в базе данных под названием SalesQuota
Первые две задачи работают нормально, но у меня возникают проблемы с выполнением хранимой процедуры (через выполнение задачи SQL) в пакете. Я пробовал все, нажав сохранить то же самое соединение с истинным, чтобы попытаться выполнить процедуру SQL Server в задаче. Но я все время получаю ошибку. Итак, я использовал SQL Search в Management Studio, чтобы узнать, где хранится эта процедура, и показывает, что это может быть причиной возникновения ошибки в трех разных базах данных на сервере? Я googled и увидел что-то относительно сопоставления переменной (?) С задачей, но я не смог найти параметры процедуры.
Это ошибка я получил
[Execute SQL Task] Error: Executing the query "execute [dbo].[up_client_sp]" failed with the following error:
Invalid object name 'SalesQuota.dbo.clientstatusgather'.
Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
благодарит вас за ответ, но не следует использовать соединение OLE DB, поскольку для предыдущих двух задач я использовал соединение OLE DB? и соединение было хорошим, но пакет всегда терпит неудачу на третьем этапе, и у меня было установлено значение IsQueryStoredProcedure равным true, но до сих пор нет никакой разницы. Также как я могу узнать, какие параметры для процедуры? когда я открываю процедуру, нет @ - рядом с оператором процедуры, и я читаю, что это имена параметров. –
Мы используем OLEDB для всех наших основных операторов SQL-выполнения, но для вызова «Хранимые процедуры» мы используем соединение ADO.NET. Я на самом деле не уверен в полной причине (вы можете посмотреть и сравнить, если хотите), но я получаю ту же ошибку, что и вы, когда я ошибочно установил их как OLEDB. Я не понимаю, каков ваш вопрос в отношении параметров. На вкладке «Сопоставление параметров» вы используете имя переменной SSIS в одном поле и имя параметра SQL в другом поле. Вы знаете имена параметров? – tember
Я не уверен в имени параметров, которые я пробовал найти их по определенным кодам, которые позволяют вам просматривать имя процедуры и т. Д., Но всегда не имеют строк, после прохождения через серверы я понял, что процедура хранится на другом сервере как Что ж. мы используем два сервера для тестирования, но у него все еще есть официальные данные, а другой - для официальных баз данных исключительно. В официальном db процедура найдена только один раз, а в другом тестировании db - 4 раза, возможно, я должен использовать официальную процедуру сервера? –