跨域建立视图

需求:与ERP系统进行数据库的对接
解决方案:跨域建立视图,能得到实时刷新的ERP数据

步骤:
可以通过一个视图使用 OPENDATASOURCE (SQL Server 2000 以上版本支持) 来完成。

Create VIEW [dbo].[vTableName]
AS
Select * 
FROM OPENDATASOURCE(
    'SQLOLEDB', 
    'PWD=loginPassword;UID=otherServerUserID;Initial Catalog=databaseName;SERVER=dataServer'
).databaseName.dbo.[tableName]
GO

通过UID、PWD的身份访问另一个数据库服务器。

其中:
‘SQLOLEDB’ 不变
PWD : 是指另一个数据库服务器的登录密码
UID : 是指另一个数据库服务器的登录ID(用户名)
Initial Catalog : 另一个服务器的数据库名
SERVER : 另一个服务器的机器名<通过在另一个服务器中select @@SERVERNAME查询>

第一次执行上述语句时报错:
SQL Server 阻止了对组件“Ad Hoc Distributed Queries”的 STATEMENT“OpenRowset/OpenDatasource”的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用“Ad Hoc Distributed Queries”。有关启用“Ad Hoc Distributed Queries”

解决:
1.开启Ad Hoc Distributed Queries组件,在两个服务器的数据库上执行如下语句:

exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

2.如果关闭Ad Hoc Distributed Queries组件,在两个服务器的数据库上执行如下语句:

exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值