如何在PL/SQL里,远程访问oracle数据库另一个数据库

1.登录PL/SQL Developer
这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer。
奇怪这里为什么选择不到数据库的TNS呢?我是先安装数据库,再安装PL/SQL& Developer。按理说安装PL/SQL Developer时,就已经识别到了Oracle Home和OCI Libaray了。管它呢?先以非登录方式登录PL/SQL Developer,设置Oracle Home和OCI Libaray。
&在Oracle Home这选项下,没有自动识别到Oracle Home目录,于是手动指定Oracle Home路径。
点击&确定&,退出PL/SQL Developer,再次登录。
&还是选择不到数据库TNS,尝试无数据库登录,看看报什么错误。
终于找到问题的关键点了,安装的PL/SQL Deleloper只能识别32的oci.dll。看来是要安个64位的PL/SQL Deleloper,于是在网上搜索PL/SQL Deleloper 64位版本。然而发现PL/SQL Deleloper不区分64位和32位。那看来只能从oci.dll入手了。根据上面的报错信息来看,似乎只要安装一个32位版本的Oracle Client。
2.安装oracle Clinet
首先到Oracle官网上去下载一个Oracle 11g Client,不过需要先申请一个Oracle 帐号,才能下载。
目前下载地址:
&这个一个绿色版的Oracle Client,因此只要需要解压了,就可以是。将下载的Oracle Client文件instantclient-basic-win32-11.2.0.1.0.zip解压到C盘(注意啦!不能下64位的)。然后在解压后的C:\instantclient_11_2目录下新建NETWORK\ADMIN目录,在ADMIN目录下新建tnsnames.ora文件,添加数据库TNS。
ORCL =& (DESCRIPTION =&&& (ADDRESS = (PROTOCOL = TCP)(HOST = chiclewu-PC)(PORT = 1521))&&& (CONNECT_DATA =&&&&& (SERVER = DEDICATED)&&&&& (SERVICE_NAME = orcl)&&& )& )
(注意:tnsnames.ora文件也可以从Oracle数据库HOME目录的NETWORK\ADMIN目录,还要把sqlnet.ora拷贝过来。然后确定HOST配置是否正确,如果HOST是主机名,需要把主机名后面的域名去掉)
3.配置PL/SQL Developer的Oracle Home和OCI Libaray
以非登录模式进入PL/SQL Developer,将Oracle Home路径指定为Oracle Client目录(C:\instantclient_11_2),OCI Libaray路径为Oracle Client目录的oci.dll(C:\instantclient_11_2\oci.dll)。
点击&确定&,现在配置已完成,下面就是等待奇迹的时刻。退出PL/SQL Developer。
4.验证Oracle Client
打开新的PL/SQL Developer,输入用户名和密码,在database选项下,可以看刚才配置的TNS了。
等待奇迹时刻...........
经过几秒钟的等待,奇迹时刻终于到来了,可以登录了,可以登录了........
检验一下是否可以查询数据。
查询数据没有问题,终于大功告成了。
阅读(...) 评论()5134人阅读
1.【Sql Server】(71)
exec sp_addlinkedserver 'csj','','SQLOLEDB','pc'& -- 把【数据库地址pc】与连接名称【csj】绑定
exec sp_addlinkedsrvlogin 'csj','false',null,'sa','123456'&& -- 把【用户名sa】和【密码123456】与连接名称【csj】绑定
-- 建立完成之后就可以正常使用了
select * from csj.bds0040263_db.dbo.Sys_User&& --连接名称.数据库名称.dbo.表名称 这是一个完整的sql语句
&exec sp_dropserver 'csj','droplogins'&&& -- 操作完后,删除【csj】连接名称
exec sp_addlinkedserver 'csj','','SQLOLEDB','pc'
-- 把【数据库地址pc】与连接名称【csj】绑定
exec sp_addlinkedsrvlogin 'csj','false',null,'sa','123456'
-- 把【用户名sa】和【密码123456】与连接名称【csj】绑定
-- 建立完成之后就可以正常使用了
select * from csj.bds0040263_db.dbo.Sys_User
--连接名称.数据库名称.dbo.表名称 这是一个完整的sql语句
exec sp_dropserver 'csj','droplogins'
-- 操作完后,删除【csj】连接名称
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2347890次
积分:20244
积分:20244
排名:第348名
原创:266篇
转载:133篇
评论:152条
(3)(1)(1)(1)(5)(1)(4)(2)(5)(12)(7)(5)(4)(3)(4)(11)(5)(5)(7)(7)(20)(17)(19)(17)(3)(8)(21)(39)(32)(26)(40)(17)(6)(20)(18)(1)查看: 4259|回复: 8
请问如何在PL/SQL里,访问另一个数据库
论坛徽章:0
因为要在两个数据库里进行数据转换,
有什么方法在一在SQL语句里访问另了个数据库的数据?
论坛徽章:0
做个链接或再建个同义名
论坛徽章:0
请给出一个例子,谢谢
论坛徽章:27
例如,首先你是用 SQLPLUS USRNAME/USRPWD@db1进入SQLPLUS 然后在SQLPLUS 中输入 CONNECT USRNAME/USRPWD@db2 就可以了
论坛徽章:0
我用的是TOAD,定义了一个DBLINKS ,是mylink1.,指向realty,用户名qffdc,密码qffdc,然后我的TNSNAME.ORA里是这样定义的.
&&(DESCRIPTION =
& & (ADDRESS_LIST =
& && &(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.119)(PORT = 1521))
& & (CONNECT_DATA =
& && &(SERVICE_NAME = realty)
我现在在另一个数据库的存储过程中,怎么样防问realty里的chfc表?
论坛徽章:0
可以select * from 表名@链接名
论坛徽章:3
1。连接REALTY
2。在REALTY中建一DBLINKS,指向另一个数据库。
3。在两个数据库就可以 select * from table_name@ DBLINKS.
论坛徽章:4
use database link to solve your issue.
1. create a database link to link to remote database
2.&&select * from table@dblink
论坛徽章:0
呵呵,俺正好刚刚看了dblink这部分内容。
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号2011年9月 总版技术专家分月排行榜第一2011年8月 总版技术专家分月排行榜第一2011年7月 总版技术专家分月排行榜第一2011年6月 总版技术专家分月排行榜第一2011年5月 总版技术专家分月排行榜第一2011年4月 总版技术专家分月排行榜第一
2011年3月 总版技术专家分月排行榜第二2011年2月 总版技术专家分月排行榜第二
2011年8月 总版技术专家分月排行榜第三
2012年10月 荣获微软MVP称号2011年10月 荣获微软MVP称号
2011年8月 总版技术专家分月排行榜第三
2012年10月 荣获微软MVP称号2011年10月 荣获微软MVP称号
2011年8月 总版技术专家分月排行榜第三
2012年10月 荣获微软MVP称号2011年10月 荣获微软MVP称号
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 远程访问mysql数据库 的文章

 

随机推荐