SSIS执行SQL任务SQL命令问题

use*_*833 3 ssis

我在SSIS的execute sql任务中有以下insert语句:

INSERT INTO dbo.SSISLogTest 
   (NodeID, BusinessDate, StartDate, StopDate, StepName, RecordCount, Message, Status, UserID)
VALUES        (?,?,?,?,?,?,?,?,?)
Run Code Online (Sandbox Code Playgroud)

当我在提供参数的任务中运行它时,它执行正常并在表中插入记录.

当我运行包时,此步骤失败并出现以下错误:

"[执行SQL任务]错误:执行查询"INSERT INTO dbo.SSISLogTest ..."失败,并显示以下错误:"参数名称无法识别.".可能的失败原因:查询问题,"ResultSet"属性未设置正确,参数设置不正确,或连接未正确建立."

Kri*_*erg 10

不同的连接提供程序需要不同的语法 - 必须正确设置以下所有内容:

  • 连接类型(即OLE DB,ADO ...)您的选择,但旨在在整个应用程序中使用相同的.
  • "参数映射"对话框中参数的数量和细节(变量名称,方向,数据类型,参数名称,参数大小).
  • SQL查询中的参数语法(即您的问号).

请参阅下面屏幕截图中的OLEDB示例,并参阅"执行SQL任务"中的"使用参数和返回代码"以获取详细信息.

在此输入图像描述

执行SQL任务 - 常规

在此输入图像描述

  • "[SQL]标准的好处是有很多可供选择":-) (5认同)