如何将参数传递给SSIS中OLE DB源中的Openquery SQL语句?
实施例: 标准SQL命令:SELECT FIRSTNAME,LASTNAME FROM CUSTOMERS WHERE PERSONID =?
OpenQuery命令不起作用:
SELECT *
FROM OPENQUERY(CRMDB
, 'SELECT FIRSTNAME, LASTNAME FROM PUBLIC.CUSTOMERS WHERE PERSONID = ''?'' ')
如果需要,请提供更多详细信息:
任何帮助都将不胜感激。
编辑: 将SQL SERVER 2008与Visual Studio 2008 BIDS一起使用
答案 0 :(得分:0)
我没有看到它用得多,但如果您遇到链接服务器查询,EXECUTE...AT是完美的。
DECLARE @PersonId INTEGER = <value>;
EXECUTE ('SELECT FIRSTNAME, LASTNAME FROM PUBLIC.CUSTOMERS WHERE PERSONID = ?',
@PersonId) AT CRMDB;
这需要为链接服务器启用RPC
和RPC Out
。
答案 1 :(得分:-1)
选择 * from openquery(MYSQL_LOCAL,'select * from table1 WHERE District!='''' and month(q_0)=1 and year(q_0)=2021 and district='''+@District + '''') OpenQuery 命令不起作用: +