SSI使用参数执行SQL任务错误
SSIS 2012…我想在我工作的同一数据库中的SQL表中发布一条成功消息。我创建了一个名为“InputRowCount”的变量Int32,并在RowCount转换中设置它。然后,在SQL任务中,我将其设置为输入参数,顺便给它一个名称。我的DB连接是OLEDB,所以书中说我只使用了一个“?”来引用一个单独的参数(我希望以后插入更多的参数…),它会得到一个“参数名无法识别”错误。下面是SQL语句: [编辑…现在我知道无法推断参数类型…] [Execute SQL Task]错误:执行查询“INSERT INTO dbo.tblpendingmessages” ([Recipi…”失败,出现以下错误:“无法唯一推断'@P1'的参数类型;有两种可能是'float'和'datetimeoffset(7)”。可能的失败原因:查询问题、“ResultSet”属性设置不正确、参数设置不正确或连接建立不正确SSI使用参数执行SQL任务错误,sql,ssis,sql-server-2012,Sql,Ssis,Sql Server 2012,SSIS 2012…我想在我工作的同一数据库中的SQL表中发布一条成功消息。我创建了一个名为“InputRowCount”的变量Int32,并在RowCount转换中设置它。然后,在SQL任务中,我将其设置为输入参数,顺便给它一个名称。我的DB连接是OLEDB,所以书中说我只使用了一个“?”来引用一个单独的参数(我希望以后插入更多的参数…),它会得到一个“参数名无法识别”错误。下面是SQL语句: [编辑…现在我知道无法推断参数类型…] [Execute SQL Task]错误:执行查询“INSE
你能发布完整的错误吗?你的参数选项卡是什么样子的?参数选项卡的屏幕截图会非常有用。如果你的参数名称是
NewParameterName
,那么你需要用0I替换它。我通过添加一个{“DECLARE@RowCount INT”“SET@RowCount=?”}来更改SQL在前面的SQL前面,然后将FORMAT()函数中的参数改为{@RowCount},而不是?.Worked。当所有其他操作都失败时,用棍子打死它……哈哈,谢谢大家
INSERT INTO dbo.tblpendingmessages
([Recipient]
,[MessageSubject]
,[MessageBody]
,[MessageGenerated]
,[MessageUser]
,[MessageFormat])
VALUES
(N'CPAS_Administrator@xxxxxx.COM' -- Recipient
,N'All Projects Import' -- Subject Line
,N'ALL Projects Import has replaced ' + FORMAT(?,'N','en-us') + N' rows of the AllProjects Table in CPAS.' -- MessageBody
,GETDATE() -- MessageGenerated
,N'SSIS'
,N'TEXT')