SSIS ODBC SQL参数

问题描述 投票:3回答:1

我得在需要采取参数的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 parameters ssis odbc
1个回答
16
投票

你必须使用表达式生成器中的数据流之外。转到控制流选项卡,选择数据流包含ODBC或ADO净源,并期待在属性窗口。你会看到在ODBC或ADO净源的属性外,还有一个“表达式”属性,在这里你可以设置表达式生成动态SQL。

编辑

下面是在那里你会改变属性的图像。您需要设置一个通用的SQL语句中的数据流,然后点击确定,并返回到控制流。然后右键单击鼠标右键上的数据流,然后单击属性。在表达式,你可以选择你的SQL命令,并使用变量构建它。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.