d29*_*907 1 sql parameters ssis task visual-studio-2010
我正在尝试使用OLE DB COMMAND在SSIS中进行此更新:
UPDATE
TABLE_A
SET
COLUMN_C = CONCAT(?,' ',?)
FROM
TABLE_A INNER JOIN TABLE_B ON
TABLE_A.ID = TABLE_B.ID
Run Code Online (Sandbox Code Playgroud)
但是当我尝试映射参数时,我收到此消息:
“无法推导出参数类型,因为单个表达式包含两个未键入的参数”
我不知道此查询是否做错了什么,或者是否不可能在一个句子中使用多个参数。
我正在使用VS 2010
我喜欢@Billinkc的答案和评论。我只想表明有解决OLEDB提供程序限制的方法。
declare @a as varchar(100) = ?
declare @b as varchar(100) = ?
UPDATE
TABLE_A
SET
COLUMN_C = CONCAT(@a,' ',@b)
FROM
TABLE_A INNER JOIN TABLE_B ON
TABLE_A.ID = TABLE_B.ID
Run Code Online (Sandbox Code Playgroud)
小智 5
使用SQL Server 2012及更高版本进行参数绑定
SQL Server 2012和更高版本已更改SQL解析器或优化器,以使用更严格的方法来确定未知参数输入类型。
这将导致SQL语句,例如“ WHERE col1> =?+?”。失败并出现诸如mx.ODBC.Error.ProgrammingError之类的错误:('42000',11503,“ [Microsoft] [SQL Server的ODBC驱动程序11] [SQL Server]无法推导出参数类型,因为单个表达式包含两个无类型参数“ @ P1”和“ @ P2”。”,10191)。
一个办法
| 归档时间: |
|
| 查看次数: |
4462 次 |
| 最近记录: |