sqlserver怎么和orcle建立连接服务器

 我来答
匿名用户
2017-04-24
展开全部
EXEC sp_addlinkedserver

@server='Province', --被访问的服务器别名

@srvproduct='ORACLE', --SqlServer默认不需要写

@provider='MSDAORA', --不同的库都是不一样的,OLE DB字符

@datasrc='192.168.88.88/ORCL'--要访问的服务器

GO

EXEC sp_addlinkedsrvlogin

@rmtsrvname='Province', --被访问的服务器别名

@useself='false', --固定这么写

@locallogin='sa', --本地操作应户名

@rmtuser='kobe', --被访问的服务器用户名

@rmtpassword='kobe123'--被访问的服务器用密码

GO

--参数解释:

sp_addlinkedserver:创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。

sp_addlinkedsrvlogin:创建或更新本地 Microsoft® SQL Server™ 实例上的登录与链接服务器上远程登录之间的映射。

现在测试一下,用帐号sa本地登录SqlServer,新建一个查询,输入

SELECT * FROM OPENQUERY(Province, 'select * from t_base_school')

比如:

SELECT organization_id,organization_name FROM OPENQUERY(Province, 'select * from t_base_organizationtree')

没问题的话,就能查询到数据了。

一些常用操作:

--查询操作

SELECT * FROM OPENQUERY(Province, 'select * from t_base_duty')

--删除操作

DELETE FROM OPENQUERY(Province, 'select * from t_base_duty')

--插入操作

INSERT INTO OPENQUERY (province,'SELECT * FROM t_base_role') (role_id,role_name,bureautype_id,is_system,b_use,field_order,b_del,identity_id) VALUES (10,'科比',7,1,0,1,0,2)

--更新操作

UPDATE OPENQUERY (province,'SELECT * FROM t_base_role') SET role_name='科比' WHERE role_id=10

注:技巧(OPENQUERY(Province, 'select * from t_base_duty') 看做是一张表)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式