SELECT
*
FROM
OPENDATASOURCE(
'
SQLOLEDB
',
'
DataSource=192.168.1.201;Initial Catalog=DBName;user id=sa;passWord=sa
').DBName.dbo.TableName
上面的语句执行会出现以下错误:
Msg 18456, Level 14, State 1, Line 1 用户 ' sa ' 登录失败。 Msg 4060, Level 11, State 1, Line 1 无法打开登录所请求的数据库 "bbage_GameInisde"。登录失败。
因为OPENDATASOURCE后面已经跟了数据库的名字(DBName),所以连接字符串中不能指定Initial Catalog。
正确的语句如下:
SELECT * FROM OPENDATASOURCE( ' SQLOLEDB ', ' Data Source=192.168.1.201;User ID=sa;Password=sa ' ).DBName.dbo.TableName
注意:上面灰色的字均为个人需要配置的东西。
执行该语句,可能会遇到以下问题:
SQL Server 阻止了对组件 ' Ad Hoc Distributed Queries ' 的 STATEMENT ' OpenRowset/OpenDatasource ' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ' Ad Hoc Distributed Queries '。有关启用 ' Ad Hoc Distributed Queries ' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
只要执行下列语句:
EXEC sp_configure ''Ad Hoc Distributed Queries '' 1
RECONFIGURE
如果你没有设置过服务器配置,可能会出现以下错误:
配置选项 ' Ad Hoc Distributed Queries ' 不存在,也可能是高级选项。
这时,你就需要打开高级配置:
EXEC sp_configure ' show advanced option ' 1
RECONFIGURE
总的操作就按照上面逆序执行即可:
EXEC sp_configure ' show advanced option ' 1
RECONFIGURE
EXEC sp_configure ' Ad Hoc Distributed Queries ' 1
RECONFIGURE
注意:上面的RECONFIGURE是用以动态更新选项的操作,如果不执行,则sp_configure的执行结果不会被保持。
另外,对于SQLExPRession 2005,则需要执行:
EXEC sp_configure ' user instance enabled ' 1
RECONFIGURE
上面的语句执行会出现以下错误:
Msg 18456, Level 14, State 1, Line 1 用户 ' sa ' 登录失败。 Msg 4060, Level 11, State 1, Line 1 无法打开登录所请求的数据库 "bbage_GameInisde"。登录失败。
因为OPENDATASOURCE后面已经跟了数据库的名字(DBName),所以连接字符串中不能指定Initial Catalog。
正确的语句如下:
SELECT * FROM OPENDATASOURCE( ' SQLOLEDB ', ' Data Source=192.168.1.201;User ID=sa;Password=sa ' ).DBName.dbo.TableName
注意:上面灰色的字均为个人需要配置的东西。
执行该语句,可能会遇到以下问题:
SQL Server 阻止了对组件 ' Ad Hoc Distributed Queries ' 的 STATEMENT ' OpenRowset/OpenDatasource ' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ' Ad Hoc Distributed Queries '。有关启用 ' Ad Hoc Distributed Queries ' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
只要执行下列语句:
EXEC sp_configure ''Ad Hoc Distributed Queries '' 1
RECONFIGURE
如果你没有设置过服务器配置,可能会出现以下错误:
配置选项 ' Ad Hoc Distributed Queries ' 不存在,也可能是高级选项。
这时,你就需要打开高级配置:
EXEC sp_configure ' show advanced option ' 1
RECONFIGURE
总的操作就按照上面逆序执行即可:
EXEC sp_configure ' show advanced option ' 1
RECONFIGURE
EXEC sp_configure ' Ad Hoc Distributed Queries ' 1
RECONFIGURE
注意:上面的RECONFIGURE是用以动态更新选项的操作,如果不执行,则sp_configure的执行结果不会被保持。
另外,对于SQLExPRession 2005,则需要执行:
EXEC sp_configure ' user instance enabled ' 1
RECONFIGURE