1

我有一个使用 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 中使用变量吗?

4

1 回答 1

3

OPENDATASOURCE 不接受其参数的变量。

来源:http ://technet.microsoft.com/en-us/library/ms179856.aspx

于 2013-09-18T15:43:26.610 回答