【发布时间】:2014-11-05 16:25:09
【问题描述】:
我在 odbc 源数据流任务中有一个 SQL 命令需要接受参数,但没有添加参数的选项。
我尝试将数据库添加为与 ODBC 提供程序的 ADO.NET 连接,但也没有可用的参数。还尝试将其作为 OLEDB 连接,但没有可用于 ODBC 的提供程序。
需要的变量都设置好了,就是不能作为参数添加。
所以我想知道的主要问题是:
是否有办法将参数添加到 ODBC 源中的 SQL 命令
是否有我可以使用的 ODBC OLEDB 提供程序?
我可以直接在查询中访问包变量吗?这会让我为 sql 注入敞开心扉吗?像这样。
"SELECT * FROM MyTable WHERE [id] = " + @[User::id]
编辑:
这是更改后的表达式
"SELECT Name, PhoneNum, Address FROM PERSON<br>
WHERE Name = '" + @[User::Name] + "'<br>
AND PhoneNum = '" + @[User::PhoneNum] + "'"
它在源代码中生成:
SELECT Name, PhoneNum, Address FROM PERSON<br>
WHERE Name = ''<br>
AND PhoneNum = ''
它会根据值填充引号吗?
【问题讨论】:
-
您是否尝试过在连接字符串中使用表达式?
-
连接字符串有效。你的意思是来自变量选项的sql命令吗?这不会显示在选项列表中。
-
对不起,我以为您指的是连接中的参数,而不是查询。
-
没问题。我已经在问题中澄清了一点。
-
我将尝试通过脚本执行此操作,看看效果如何。
标签: sql parameters ssis odbc