我有一个使用 OPENDATASOURCE 的 SQL Server 2012 查询。我想单独构建初始化字符串,然后调用 OPENDATASOURCE,这样我就可以避免使用动态 SQL。我使用的命令是这样的:
set @connection_string = 'Data Source='+ @ServerName + ';User ID=' + @UserName + ';Password=' + @Pass
select *
from opendatasource('SQLOLEDB', @connection_string)...
但是,当我运行它时,我得到了错误
Incorrect syntax near '@connection_string'. Expecting STRING, or TEXT_LEX.
我不允许在 OPENDATASOURCE 中使用变量吗?