找回密码
 FreeOZ用户注册
查看: 3982|回复: 1
打印 上一主题 下一主题

[数据库] 如何建立linked server 连接另外的ms sql

[复制链接]
跳转到指定楼层
1#
发表于 3-11-2010 19:07:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除, 无法发言

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
最近有机会在公司试验建立Linked server,分别建立了linked server到oracle 和 ms sql,分享一下体会。

首先linked server 可以把不同的数据服务器的数据整合在一起,这样你可以在一台服务器上访问所有其他服务器的数据,并且可以在表的级别上进行相互的JOIN,函数和存储过程都可以访问其他的服务器,这简直太强大了。

不过网上的问题和答案多很多,好多东西需要靠摸索,这也符合微软的一贯风格,帮助文档说的模棱两可,没有具体实例,错误提示信息不明确,非要自己苦心钻研才行,好多人都中途放弃了。

假设你有一台ms sql 2005 的服务器,首先说说如何连接Oracle (10g,8i都通过了),首先需要在这台服务器上安装oracle的客户端软件,这样才可以通过oracle的 tnsnames.ora 配置文件里面的 tnsnames 访问其他的oracle服务器。你还需要有oracle 的用户名和口令,这个事当然的了。

建立连接服务器:

EXEC sp_addlinkedserver   'linkedservername', 'Oracle', 'OraOLEDB.Oracle', 'oracleservername'

linkedservername 是连接服务器的名字,随便起名
oracleservername 是Oracle服务器的 tns 名字


输入用户信息:

EXEC sp_addlinkedsrvlogin 'linkedservername', 'FALSE', NULL, 'username', 'password'


具体使用语法如下
SELECT TOP 10 * FROM linkedservername..schemaname.tablename

注意,连接服务器的名字和schema name之间是两个点,schema name 和 table name 区分大小写!SQL语句的语法是ms sql 语法,而不是oracle的语法。

========================================================================================

接下来再看看如何连接其他的ms sql 服务器。
连接微软自家的服务器更加容易,导航到:

server name --> Server Objects --> Linked Servers

点击右键选择 new linked server

General 页面:
Linked Server: 输入 你的另外一台ms sql server的服务器名字,机器名或者域名
server type 选择 sql server

Security 页面:这一步比较复杂!
你如果使用的是 NT帐号设置这个,只有你用这个帐号登陆你这台服务器,这个连接才有效,如果你不是用相同的帐号登陆,就没办法访问,我觉得这个限制比较多,不建议采用。具体设置方法是:

Local Login: nt user name
impersonate: YES

Be made using this security context: check
remote login: nt user name
with password: nt user password

你可以使用ms sql认证的用户名来建立连接,这个比较实用,还省事
不用管上面的那个 local server login to remote server login mappings 部分,直接跳到下边输入
Be made using this security context: check
remote login: sql user name
with password: sql user password

回复  

使用道具 举报

2#
发表于 2-3-2011 10:18:36 | 只看该作者
多谢分享,我用php连网上的mysql服务器,很方便,套接字和TCP,没有区别。
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+10, 27-4-2024 02:45 , Processed in 0.029719 second(s), 17 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表