SQLServer2005链接Oracle10g数据库
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??SQLServer2005链接服务器 第一部分:使用图形窗口创建 情况一:SQLServer2005通过链接服务器链接SQLServer2005 第一步:确认Distributed?Transaction?Coordinator服务是否启动
第二步:新建链接服务器:
第三步:配置常规的链接服务器信息
第四步:配置安全性: 第五步:测试效果 情况二:SQLServer通过链接服务器连接Oracle 第一步:配置nsnames.ora?文件 D:oracleproduct10.2.0db_1networkADMINtnsnames.ora CH330300?= ??(DESCRIPTION?= ????(ADDRESS_LIST?= ??????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?shuidun)(PORT?=?1521)) ????) ????(CONNECT_DATA?= ??????(SERVICE_NAME?=?CH330300) ????) ??) ) 第二步:测试连接 C:&;sqlplus?ch330300/XXXXX@test 第三步:确认Distributed?Transaction?Coordinator服务是否启动 第四步:新建链接服务器(如图) 参数解析: a)链接服务器:写上链接服务器的名字,如:CH330300 b)?服务器类型,选择其他数据源 c)?访问接口:选择?Microsoft?OLE?DB?Provider?for?Oracle d)?产品名称:写上?Oracle e)?数据源:写上tnsnames.ora?文件中配置的服务名,如:CH330300 f)访问接口字符串:user?id=CH330300;password=XXXXXX g)在选择安全性选项页,使用此安装上下文建立连接: 1:远程登录:user 2:使用密码:password h)?确定 第五步:查看Oracle数据库中的内容 SELECT?*?FROM?openquery(CH330300,'SELECT?*?FROM?CH330300.test?') 第二部分:使用代码创建 --情况一:SQLServer通过链接服务器链接远程的SQLServer --1.添加链接服务器 EXEC?sp_addlinkedserver ???@server?=?'SQLServer90',?--链接服务器名称,这个取名无所谓 ???@srvproduct?=?'SQL',??--数据库服务产品 ???@provider?=?'SQLOLEDB',??--数据库服务提供者 ???@datasrc?=?'192.168.0.90'--SQL数据库连接字符串 --2.为链接服务器设置默认连接密码 EXEC?sp_addlinkedsrvlogin?@rmtsrvname?=??'SQLServer90',?--登录远程SQL链接服务器名 ????????@useself?=??'false', ????????@locallogin?='sa',??--本地登录名 ????????@rmtuser?=??'sa',--登录SQL用户名 ????????@rmtpassword?=??'XXXXXX'?--登录远程SQL密码 --3.查询 select?*?from?SQLServer90.CH331081.dbo.A000001; GO --情况二:SQLServer通过链接服务器链接远程的Oracle --1.添加链接服务器 ????EXEC?sp_addlinkedserver ???@server?=?'CH33030090C',?--链接服务器名称,任意取名 ???@srvproduct?=?'Oracle',??--数据库服务产品 ???@provider?=?'MSDAORA',??--数据库服务提供者 ???@datasrc?=?'192.168.0.90/CH330300'--Oracle数据库连接字符串 --2.为链接服务器设置默认连接密码 ????EXEC?sp_addlinkedsrvlogin?@rmtsrvname?=??'CH33030090C',?--登录远程ORACLE链接服务器名 ????????????@useself?=??'false', ????????????@locallogin?='sa',??--本地登录名 ????????????@rmtuser?=??'CH330300',--登录Oracle用户名 ????????????@rmtpassword?=??'XXXXXX'?--登录Oracle密码 --3.查询 ????select?*?from?CH33030090C..CH330300.A000067; --或者使用openquery select?*?from?openquery(CH33030090C,'select?*?from?A000067') ? 第三部分:查看SQLServer2005中链接服务器有哪些? SQL语句: select?*?from?sys.servers?where?name?like?'CH330300%' 第四部分:删除链接服务器 sp_dropserver?'连接服务器名','droplogins' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |