如何远程连接oracle数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何远程连接oracle数据库相关的知识,希望对你有一定的参考价值。

连接远程oracle数据库,首先网络要畅通,然后需要知道远程数据库的IP地址,数据库端口号,用户名,密码,数据库服务名等信息。

1、本地要安装oracle客户端,在如下路径找到tnsname.ora文件。~\\oracle\\product\\10.2.0\\db_1\\network\\ADMIN

2、打开tnsname.ora文件。添加如下内容:

本地实例名=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 端口号))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = 服务名)
    )
  )

3、然后以第三方工具PL/SQL为例。选择正确的数据库及连接方式,填写正确的用户名和密码即可。

参考技术A 通过配置本地数据库的tns配置文件实现:
去oracle安装目录下oracle\product\10.2.0\db_2\NETWORK\ADMIN\ 找到tnsnames.ora,用记事本打开,里边有远程数据库的tns连接配置串如下
ORCL23 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.23)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
)
)
添加好ip、端口和目标数据库的实例名(SID),然后确保tns名称(ORCL23)在整个文档中唯一,保存后打开数据库连接工具,输入远程数据库上的用户名密码,选择数据库对象为你配置的连接名就可以了。
还有一种方法就是配置Database Link,详情参考下帖
http://moonights.iteye.com/blog/568895本回答被提问者和网友采纳
参考技术B PL/SQL就可以,配置好客户端,TNS

vc 6.0连接oracle11g

参考技术A VC++连接远程Oracle数据库

1.如果主机A要连接远程主机B的oracle数据库,那么主机A和主机B都要安装oracle数据库,否则会提示找不到安装程序异常(或者主机A安装oralce客户端程序),主机B要配置数据库本地网络服务名和监听程序,用于对外网络开放本地数据库网络服务和监听远程程序通过网络连接本地数据库。

2.oracle数据库中用到的3个配置程序:Database Configuration Assistant 用于配置oracle数据库,如果安装过程中数据库配置或者安装出错,可以直接删除数据库重新配置不用卸载软件重新安装;Net Configuration Assistant用于配置本机数据库网络监听程序和数据库网络服务名,如果连接提示无法识别提供的sid等错误,可以直接删除监听程序重新配置并同时删除本地网络服务名重新配置;Net Manager用于查看Net Configuration Assistant中配置的本地网络服务名和监听程序;1个数据库连接与操作程序:SQL Plus用于连接数据并实现数据系统配置与数据操作。

3.常用命名:cmd中输入lsnrctl status用于查看当前数据库网络服务与监听程序状态,如果听见程序为BLOCKED状态则远程无法连接,正常为READY状态;如果连接不上远程数据库,可以通过此命令查看服务是否开启;oracle数据库插入时间日期,使用to_date('2013-07-05 23:56:25’, 'yyyy-mm-dd hh24:mi:ss’),设置系统时间日期显示格式:alter session set nls_date_format=‘yyyy-mm-dd hh24:mi:ss’。

4.oracle 11g标准版vc++连接字符串:

strConnect.Format("Provider=OraOLEDB.Oracle.1;Password=%s;Persist Security Info=True;User ID=%s;\
Data Source=\"(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = %s)(PORT = %s)) )(CONNECT_DATA = (SID = %s)))\"",
m_sPwd, m_sUid, m_sHost, m_sPort, m_sSid);//123456 system 192.168.37,1521(默认端口),testdata(本地网络服务配置服务名)

try

::CoInitialize(NULL);//初始化com环境(必须,否则提示异常)
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->ConnectionTimeout = 10;// 设置连接超时10秒
m_pConnection->Open(_bstr_t(LPCTSTR(strConnect)),"","",adModeUnknown);
m_pConnection->CursorLocation = adUseClient;//设置使用客户端连接(可以共享读写)

catch (_com_error e)

AfxMessageBox(e.Description());
//AfxMessageBox(e.ErrorMessage());
return FALSE;

catch(...)

MessageBox("数据库连接失败!", "未知原因", MB_OK|MB_ICONERROR);
return FALSE;
追问

你好,我是学习java的,现在需要做C++开发我没有C++基础,可以发送给我一个完整的代码吗?谢谢了

追答

代码网上很多,可以去下载,这是我自己实际项目中用过整理的。

以上是关于如何远程连接oracle数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何实现 cmd 测试远程 oracle

如何使用PLSQL连接远程服务器oracle数据库

如何配置pl/sql 连接远程oracle服务器

SQL PLUS 如何远程连接ORACLE数据库

oracle 11g怎样配置才能连接远程数据库

oracle 安装后如何连接?