如果要将SQL7同SQL 6.5联接应该怎么?或者用SQL7同ORACLE或SYSBASE联接应该怎窗炷兀空饩托枰玫絃INKED SERVER。
今天先说一下SQL7之间使用LINKED SERVER的方法:
一、在源服务器的Client Network Utility中添加目标服务器的联接
二、打开ENTERPRISE MANGER,展开源服务器的Security,在LINKED SERVERS上单击右键,单击弹出菜单中的NEW LINKED SERVER
三、在LINKED SERVER PROPERTIES窗口中,在LINKED SERVER框输入目标服务器名(在CLIENT NETWORK UTILITY中的服务器名),在SERVER部分选中SQL Server,在SERVER OPTIONS中根据选中RPC和RPC OUT
四、切换到安全(Security),根据实际设置。我一般选择“THEY WILL BE MAPPED TO”,然后输入帐号和口令)
五、单击确定完成设置
需要说明的是,在使用时同REMOTE SERVER有点不同,用REMOTE SERVER可以省略CATALOG(DBO),但使用LINKED SERVER时却不能省略,当时我在试时就因为这个问题耽误了不少时间。
以上在WIN98+SQL7 DESKTOP同NT4+SP5+SQL7之间测试成功曾因工作的原因,在别人的督促之下,试了SQL 7同ORACLE联接,在SQL7中直接访问法简单说一下。当时用的是LINKED SERVER直接联接对方数据库:
一、先在SQL服务器装上ORACLE的客户端,并设置好
二、然后打开ENTERPRISE MANGER,与昨天相同的方法进到添加LINKED SERVER窗口
三、在LINKED SERVER框输入要使用的服务器名,服务器名允许按命名规则任意命名,但或LINKED SERVER重名。
四、在SERVER区选中“OTHER DATA SOURCE”
五、Provider name选择“Microsoft OLE DB Provider for Oracle”
六、在Product name处输入“Oracle”
七、在Data source处输入在Oracle客户端程序中设置的服务器名
八、在Provider处输入“MSDAORA” 注:用ORACLE就是这个,不能改
九、在Server opentions区选择“RPC”和“RPC OUT”
十、再切换到安全(Security),根据实际设置。(我都是选择“THEY WILL BE MAPPED TO”,然后输入帐号和口令)
十一、单击确定完成设置
我按这个步骤设置成功,但因时间和条件的问题,一直没再继续试其它的设置,如果各位再试一下其它的选项,看有什么不同,试完希望能将步骤和结果给我发一份。另需说明的是,这种的联接的稳定性还是可以的,在设好以后的一年中,只因为对方服务一次是ORACLE的客户端被管理员不小心删了个文件,又重设了一次,然后一直没出问题,在ORACLE客户端执行需要0.1秒钟,通过LINKED SERVER执行需要0.2秒钟左右。
以上在UNIX+ORACLE7和NT4+SP5+SQL7上测试成功。
在Enterprise Manager中,设置时有以下三部分:
一、服务器名和服务器类型
二、服务器的服务器选项
三、安全
在用存储设置时也分这三部分步骤:
一、添加服务器
使用 sp_addlinkedserver 过程,所要使用的参数如下:
@server “LINKED SERVER”
@srvproduct “Product name”
@provider “Provider”
@datasrc “Data source”
二、设置服务器选项
使用 sp_serveroption 过程,所要使用的参数如下:
@server “Linked server”
@optname “RPC”或“RPC OUT”
@optvalue True 或 False
三、添加Login
使用 sp_addlinkedsrvlogin 过程,所要使用的参数如下:
@rmtsrvname “Linked server”
@useself True 或 False
@locallogin 本地LOGIN
@rmtuser 远程用户
@rmtpassword 远程用户口令
应用实例代码
exec sp_addlinkedserver 'Oracleserver','Oracle','MSDAORA','Oracleserver'
exec sp_serveroption 'Oracleserver','rpc.out','True'
exec sp_serveroption 'Oracleserver','rpc','True'
exec sp_addlinkedsrvlogin 'Oracleserver','False',,'sa','
因小弟英文水平有限,借助词霸虽说可以看懂前面几个过程的帮助,但翻译不出来,只好放上来,不求能全部说明白,只要大家借助这段码能够少走冤路也就达到目的了。
上述代码在UNIX+ORACLE7和NT4+SP5+SQL7上测试成功。
前两篇说的是联接ORACLE的方法,我还试过用ODBC的方法:
一、先建一个系统DSN,我试的只能是系统DSN
二、再用前两的方法添加LINKED SERVER
三、然后就可以正常使用了,但我试的发现这种方法不太稳定。
另需说明的是:
在第二步中Provider应为MSDASQL 用ENTERPRISE MANAGER的话Provider name应选择“Microsoft OLE DB Provider for DBC”
在UNIX+ORACLE7和NT4+SP5+SQL7上测试成功。
我还设过SQL7同SYSBASE的联接,不过令人感到奇怪的是SQL7的客户可以直接指向方法:
一、在本地服务器上安装SYSBASE的客户端并设好,可联上服务器
二、打开SQL7的CLIENT NETWORK UTILITY,添加服务器,地址直接指向SYSBASE服务器的IP地址,端口号和SYSBASE的客户端的设置相同。
三、添加LINKED SERVER时和添加MSSQL的方法相同
在UNIX+SYSBASE和NT4+SP5+SQL7上测试成功
在UNIX+SYSBASE和WIN98+SQL7上测试成功
在SQL7访问SQL6.5的方法最简单,只需在CLIENT NETWORK UTILITY中设上6.5服务器的联接,但有一点是,这样联接只能在QUERY ANALYZER中使用,却不能在ENTERPRISE MANAGER中进行。
关于REMOTE SERVER和LINKED SERVER的问题就说到这儿了,谢谢大家的支持,以后继续讨论。再见! |