Windows下手动配置Oracle Client的要点

摘要:
应用程序和连接到Oracle数据库所需的文件存储在C:\/OORACLE/Oora10目录中,该目录是应用程序的安装目录。

Windows下手动配置Oracle Client的要点

我的Windows上原有Oracle 9的客户端, 想使用cx_Oracle和python些点东西, cx_Oracle官网上没有for python2.7和Oracle9的安装包, 但有for oracle10的安装包. 所以需要先安装Oracle 10 client.

可能是因为卸载Oracle 9的客户端失败, 导致安装Oracle 10 client报一些错误. 重装多次, 仍然无法使用

google到一个解决方案. 博客: 免安装oracle客户端连接数据库服务器的方法
http://blog.csdn.net/xutong/article/details/2293857

这个文章很管用, 我照着做完后, 就搞定了. 因为程序文件已经安装完毕, 需要做的仅仅是一些手工配置.

-------------------------
第一步: 编辑oracle.key文件
-------------------------
C://ORACLE/Ora10//bin//oracle.key 指明了在注册表中Oracle程序的存储目录,用记事本便可打开对其进行编辑,通常情况下的设置为:
SOFTWARE\oracle_reg
这样设置后, Oracle连接数据库时会到注册表的 HKEY_LOCAL_MACHINE/SOFTWARE/oracle_reg 的对应项中查找数据库的相关信息.oracle_reg 其实可以是任何字符串, 只要注册表也保持一致就行.

-------------------------
第二步: 注册数据库信息
-------------------------
完成以上工作后,只需在注册表中写入Oracle数据库的语言环境和资源路径,应用程序便可以连接Oracle数据库,无需设置操作系统的环境变量,注册表信息的保存位置应与 oracle.key 文件中设定的项值对应,注册表的清单如下:

[HKEY_LOCAL_MACHINE/SOFTWARE/oracle_reg]
"ORACLE_HOME"="C://ORACLE/Ora10"
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

SIMPLIFIED  CHINESE_CHINA.ZHS16GBK                          表示使用简体中文字符集。应用程序和连接Oracle数据库所需的文件存放在C://ORACLE/Ora10目录下,即应用程序的安装目录。

-------------------------
第3步: 配置操作系统的环境
-------------------------
===PATH环境变量(必须)
因为Jdbc等连接技术都用到oci.dll, 所以需要把oci.dll放置到Windows的PATH环境变量中(for Linux is LD_LIBRARY_PATH, for AIX is LIBPATH, for HP-UX is SH_LIB_PATH)
Windows下oci.dll其实已经复制到C://ORACLE/Ora10//bin/了, 所以只需要将该目录加到PATH环境变量中.
****为了不让Windows使用优先使用新版的oci.dll, 一定要将oracle10的路径放在Oracle9路径之前.

===CLASSPATH环境变量
如果使用jdbc的话, 最好设置CLASSPATH环境变量, 将C:\oracle\ora10\jdbc\lib\ojdbc14.jar加入.

===TNS_ADMIN环境变量(不是必须的)
c:\oracle\oraDb10_home1\network\admin

===ORACLE_HOME环境变量(不推荐设置)
按照Oracle官方讲法, 在windows下不推荐使用这个ORACLE_HOME环境变量.
 
之后, 使用tnsping就可以解析了. 


-------------------------
下面附上在Windows/Unix上, 查找tnsnames.ora的搜索路径.
-------------------------
For Windows users, the search order is a bit different.
markrem markrem is offline
Registered User
         
Join Date: Sep 2003
Location: Virginia, USA
Posts: 246
For UNIX users, the order in which Oracle searches locations for Oracle Net files like sqlnet.ora and tnsnames.ora are in this order:
1. $HOME for hidden files only (i.e., .sqlnet.ora and .tnsnames.ora)
2. $TNS_ADMIN
3. $HOME
4. /etc or /var/opt/oracle (depends on platform)
5. $ORACLE_HOME/network/admin

For Windows users, the search order is a bit different. It goes like this,
1. current path (associated with the running client application)
2. Environment variable TNS_ADMIN defined for the session
3. Environment variable TNS_ADMIN defined for the system
4. Windows Registry Key TNS_ADMIN
5. %ORACLE_HOME%\network\admin

Now, from what I've read of the posts you are using Windows. If you do nothing (i.e., don't define TNS_ADMIN anywhere) then Oracle will look in the default location %ORACLE_HOME%\network\admin. On most windows computers this is something like c:\oracle\oraDb10_home1\network\admin. If you are unsure what your Oracle Home is, just look in the registry under HKLM/software/oracle for a hive named either HOME0 for Oracle 9i, or a hive named using the value you supplied during installlation of Oracle. In that hive will be a key named ORACLE_HOME.

I strongly recommend against setting TNS_ADMIN as a system variable. I believe Oracle does too. You really should stick to registry keys, since some Oracle apps won't pickup TNS_ADMIN as a system variable.
__________________
MarkRem
Author, Oracle Database 10g: From Nuts to Soup

免责声明:文章转载自《Windows下手动配置Oracle Client的要点》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇javascript 九宫格图片随机打乱位置J2EE学习篇之--Struts2技术详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle向MySQL迁移的注意点整理

1. 表结构 * 数据库设计工具: 连接Oracle拉取表字段信息, 调整数据库类型后, CM创建MySQL版本的创建表语句 * https://github.com/hepengju/ExcelVBAUtils 2. 表数据 * 数据迁移工具: 配置好数据库的来源和目标, 配置好需要同步的表, 直接JDBC查出来set进入, 1...

oracle之数据限定与排序

数据限定与排序6.1 简单查询语句执行顺序from, where, group by, having, order by, selectwhere限定from后面的表或视图,限定的选项只能是表的列或列单行函数或列表达式,where后不可以直接使用分组函数SQL> select empno,job from emp where sal>2000;...

java oracle thin 和 oci 连接方式实现多数据库的故障切换

java oracle thin 和 oci 连接方式实现多数据库的故障切换 一、thin方式 该种方式简便易用非经常见。 当中URL为 jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)) (ADDRESS...

Oracle:高效插入大量数据经验之谈

来源于:http://www.cnblogs.com/liwenzhen238/p/3610518.html 在很多时候,我们会需要对一个表进行插入大量的数据,并且希望在尽可能短的时间内完成该工作,这里,和大家分享下我平时在做大量数据insert的一些经验。   前提:在做insert数据之前,如果是非生产环境,请将表的索引和约束去掉,待insert完成后...

【转】EVC /PB /WinCE开发问题

1. 在ce自制平台中如何添加自己的驱动?cec文件和reg,bib文件有何区别?看混了,不知道如何才能让驱动注册到平台中。另外,reg和bib是我在编写驱动必须要自己写的么 CE 的驱动分为本机驱动和流驱动,本机驱动你可以修改源码(在%_WINCEROOT%/PUBLIC/COMMON/OAK/DRIVERS),然后 build驱动源码,之后用PB编译...

Linux头文件和库文件添加环境变量与GCC编译器添加INCLUDE与LIB环境变量

  对所有用户有效在/etc/profile增加以下内容。只对当前用户有效在Home目录下的 .bashrc或.bash_profile里增加下面的内容: (注意:等号前面不要加空格,否则可能出现 command not found) #在PATH中找到可执行文件程序的路径。 export PATH =$PATH:$HOME/bin #gcc找到头文件的...