oracle提供了oci的连接方式,它是一种本地连接,需要在本地操作系统中安装客户端,在windows、linux、solaris下一般可以直接通过安装文件安装oracle 客户端,在linux下面还可以安装oracle client instant(它通常是通过rpm包的形式发布的)
应用程序能否通过oci进行访问,关键是tnsname的设置,这一般有两种方式
- 在程序内指明连接信息
- 使用配置文件指明连接信息,然后在程序内引用配置文件中的服务名
下面通过ruby代码举例说明
1.在程序内部设置,以oci8为例
require 'oci8'
db_def = %[(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=
(PROTOCOL=TCP)
(Host=192.168.2.245)
(Port=1522)
)
)
(CONNECT_DATA=
(SERVICE_NAME=oravas)
)
)]
conn = OCI8.new 'sxvas', 'sxvas', db_def
=> #<OCI8:SXVAS>
2.在配置文件中指明,以dbi为例
require 'dbi'
DBI.connect("DBI:OCI8:ORAVAS",'sxvas','sxvas')
=> #<DBI::DatabaseHandle:0xb7985f3c @driver_name="OCI8", @trace_mode=nil, @handle=#<DBI::DBD::OCI8::Database:0xb7985ed8 @attr={}, @handle=#<OCI8:SXVAS>>, @convert_types=true, @trace_output=nil>
在这种方式中,DBI通过ORAVAS这个服务名称访问数据库,而这个名称是在配置文件中设置的——
~$ cat /home/john/etc/tnsnames.ora
ORAVAS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.245)(PORT = 1522))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oravas)
)
)
这里的文件路径是可以配置的,它通过环境变量指定
~$ echo $TNS_ADMIN
/home/john/etc/tnsnames.ora
总的来说,如果依赖本机服务名寻找远程oracle服务器上的服务,依次根据 "环境变量 -> 配置文件 -> 服务名称" 进行访问
分享到:
相关推荐
Oracle Call Interface (OCI) 是 Oracle 数据库提供的一种 C 语言编程接口,允许开发者直接与数据库进行交互,实现高效且低级别的数据库操作。本资源“oci_windows.zip”是针对 Windows 平台的一个 OCI 开发工具包,...
最后,在总结部分,作者强调了通过Hook Navicat for Oracle来了解OCI函数使用方法的重要性,并说明了这一过程为开发直接操作Oracle数据库的VC程序提供了参考。需要注意的是,本文档仅供个人研究学习,严禁用于其他...
### 使用OCI接口操作Oracle数据库详解 #### 一、OCI接口简介 OCI(Oracle Call Interface)是Oracle公司提供的一套用于开发应用程序与Oracle数据库交互的低级API(Application Programming Interface)。OCI支持...
你可以通过阅读这些文件进一步了解和学习如何在Linux系统上使用OCI连接Oracle数据库。 总之,掌握Linux上的OCI编程是提升数据库应用开发能力的关键技能之一。通过深入学习和实践,你将能够利用OCI接口实现高效、...
在ASP.NET中连接Oracle数据库可能会遇到一些问题,特别是当系统提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”时,这通常是由于.NET应用程序与Oracle客户端版本不兼容导致的。...
Oracle Call Interface (OCI) 是 Oracle 数据库提供的一种编程接口,允许开发者使用各种高级语言(如 C#)直接与 Oracle 数据库进行交互。标题中的 "oci.rar_c# Oracle_oci_oracle_oracle oci" 暗示了这个压缩包...
"instantclient_11_2"是Oracle Instant Client的一个版本,这是一个轻量级的客户端软件,包含了连接Oracle数据库所需的库文件和驱动,如OCI(Oracle Call Interface)和SQL*Net。用户可能需要安装或更新这个客户端以...
Oracle数据库是企业级广泛应用的关系型数据库系统,连接Oracle数据库的方式有多种,主要涵盖JDBC的三种方式:OCI方式、thin方式以及JdbcOdbc桥接方式。这些方式各有特点,适用于不同的场景。 1. OCI(Oracle Call ...
OCIInitialize函数用于初始化Oracle Call Interface (OCI),这是使用OCI与Oracle数据库建立连接的第一步。此函数的调用至关重要,它确保了后续与数据库交互所需的环境得以正确设置。 **函数原型:** ```c sword ...
本文将详细讲解如何利用Navicat连接到Oracle数据库,重点在于"Navicat连接Oracle需要的文件"以及配置过程。 首先,"Navicat连接Oracle需要的文件"主要包括两个关键部分:Navicat软件本身和Oracle的客户端组件。...
描述中提到的"VC下的Oracle数据库读写操作案例"可能包含一系列示例代码,演示了如何在VC项目中集成和使用OCI,例如创建数据库连接、执行SQL查询、事务管理以及错误处理等。这些示例对于学习和理解如何在C++中使用OCI...
总的来说,解决Navicat for Oracle无法连接Oracle11g的问题需要理解oci.dll和其他Oracle客户端组件的作用,并正确配置相关环境。通过替换和配置这些文件,可以确保第三方工具与Oracle数据库的兼容性,从而实现顺畅的...
标题中的“instantclient_11_2 连接oracle数据”指的是利用Oracle Instant Client 11.2版本来与Oracle数据库建立连接并进行数据交互。 在描述中提到的“使用instantclient_11_2和pl/sql Developer连接oracle远程...
### PowerBuilder 9 连接 Oracle 10g 的说明(免安装 Oracle 客户端) 在企业级应用开发中,PowerBuilder 和 Oracle 数据库是非常常见的组合。PowerBuilder 是一款非常强大的快速应用开发工具,而 Oracle 数据库则...
Oracle官方文档是数据库管理员、开发人员以及IT专业人士的重要参考资料,特别是对于OCI(Oracle Call Interface)程序员来说,这些文档更是不可或缺的工具。OCI是Oracle数据库提供的一组C语言接口,允许开发者直接与...
- PHP与Oracle数据库连接通常需要使用PHP扩展oci8。在PHP集成环境中,如XAMPP,需要确保oci8扩展已正确安装。 - 配置oci8扩展时,需要将php/ext/php_oci8_11g.dll文件拷贝到系统的system32目录,并在php.ini配置...
在Windows 7 64位操作系统中,配置ODBC连接Oracle 11g数据库涉及到以下几个关键步骤和知识点: 1. **安装Oracle客户端**:压缩包中可能包含Oracle的客户端软件,这是连接Oracle数据库的基础。Oracle客户端通常包括...
在易语言中,开发Oracle数据库连接模块是为了实现对Oracle数据库的高效、便捷操作。Oracle数据库是全球广泛使用的大型关系型数据库管理系统,适用于处理大量数据和并发事务。 Oracle数据库连接模块的核心在于如何...
在配置文件方面,通常有一个名为`sqlnet.ora`的文件,用于设置Oracle Net Services的参数,例如连接超时、加密方式等。另一重要的文件是`tnsnames.ora`,它定义了数据库服务名到实际连接地址的映射,方便应用程序...