Sql server 2005 在SSIS 2005上执行SQL任务。ADO.NET连接类型和存储过程输入参数。不工作。语法错误

Sql server 2005 在SSIS 2005上执行SQL任务。ADO.NET连接类型和存储过程输入参数。不工作。语法错误,sql-server-2005,stored-procedures,visual-studio-2005,ssis,Sql Server 2005,Stored Procedures,Visual Studio 2005,Ssis,我正在SSIS 2005上执行SQL任务。ADO.NET连接类型和存储过程输入参数。不工作。语法错误 我读了一些文档和博客,但对我来说不起作用。这是我在ExeuteSQL任务(ADO.NET)的SQL语句中看到的 EXEC StoredProcedureName@ParameterName= 它在我尝试的不同语法上给出了不同的错误。全部失败 查询出现问题,“ResultSet”属性设置不正确、参数设置不正确或连接建立不正确 我尝试了所有的组合,比如EXEC StoredProcedureName

我正在SSIS 2005上执行SQL任务。ADO.NET连接类型和存储过程输入参数。不工作。语法错误 我读了一些文档和博客,但对我来说不起作用。这是我在ExeuteSQL任务(ADO.NET)的SQL语句中看到的

EXEC StoredProcedureName@ParameterName=

它在我尝试的不同语法上给出了不同的错误。全部失败 查询出现问题,“ResultSet”属性设置不正确、参数设置不正确或连接建立不正确

我尝试了所有的组合,比如EXEC StoredProcedureName@ParameterName=? 存储的过程烯? StoredProcedureName@ParameterName=? 徒劳

我检查了参数类型及其精细程度

如果我将连接类型更改为OLE DB,同样的设置也会起作用。但是我不想要OLE DB,我想把它改成ADO.NET

我按照微软的规范进行了尝试,但也没有成功 每米软 如果IsQueryStoredProcedure设置为False,请执行uspGetBillOfMaterials@StartProductID、@CheckDate

我尝试更改IsQueryStoredProcedure属性上的所有组合也没有成功 我在参数映射上正确地映射了参数名、顺序和变量,但仍然不走运

正如我所说,它可以与OLEDB一起工作,但即使在更改语法后也不能与ADO.NET一起工作。 请帮忙


我在ADO.NET上有另一个任务,它工作正常,因为它没有输入参数

请尝试将IsQueryStoredProcess设置为False,然后将SqlStatement设置为False

执行mystoredprocesdure@MyParameter

其中@MyParameter是任务的参数映射部分中的参数名,该部分引用包中的变量。此变量保存要传递给存储过程的值

使用ADO.NET连接时,参数应使用“@”符号,使用OLE DB时,应使用“?”符号

ADO.NET。执行mystoredprocesdure@MyParameter OLE DB。执行MyStoredProcess


请记住,在使用OLE DB时,您应该使用0,1,2,3等引用参数名称(在参数映射中),这是一个古老的问题,但如果它有助于某人:

  • isquerystoredprocesdure
    设置为
    True

  • 仅在SQLStatement中写入存储过程的名称:
    sp_MyStoredProcedure

  • 在“映射”选项卡中,添加您的参数:

    方向=输入;Name=@parameterName