这是找的比较全的介绍,还有出现的各种问题的解决方法,很实用!!!
原帖地址:http://wanlong1003.blog.163.com/blog/static/76065239201312354115370/
原帖中还有Oracle各个版本客户端下载的介绍,和Oracle官网上一样。
说明:我们要连接oracle经常需要安装庞大的oracle客户端,很占用硬盘空间,所以我们通过下面的设置就可以在不安装客户端的情况下连接到oracle。
1.首先需要下载Oracle Client Package(免安装包)
从http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html下载
Instant Client Package – Basic包( 标注:All files required to run OCI, OCCI, and JDBC-OCI applications)
2.本地保存Oracle Client Package:
创建文件夹,比如oracle_client,将下载的文件加压缩到此文件夹里 (D:\oracle_client)
3.在当前目录下,新建立两个文件,sqlnet.ora和tnsnames.ora然后再手动配置sqlnet.ora和tnsnames.ora,这俩文件的内容就不详细减少了。
比如这里是:
sqlnet.ora文件内容:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
tnsnames.ora文件内容
orcl=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.103)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
4.配置环境变量(需要添加四个)
第一个:第一个是指向TNS文件所在目录的,TNS文件就是保存了连接信息的文件。(就是tnsnames.ora和sqlnet.ora文件的路径)
变量名: TNS_ADMIN
变量值: D:\oracle_client
否则出现:ORA-12154: TNS:could not resolve the connect identifier specified错误
第二个是指定数据库使用的编码。如果不设置成以下值,那么连接上数据库后,你看到的所有中文的内容将会是乱码,都是一堆问号。
变量名: NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
第三个是plsql,BDE等类型程序找驱动路径,否则找不到 oci.dll文件(是 oci.dll文件的路径)
变量名: path
变量值:D:\oracle_client
第四个是日期格式的问题,程序总报日期格式有问题
变量名: NLS_DATE_FORMAT
变量值:YYYY-MM-DD HH24:MI:SS
其实面几上面几个我个人觉得一般情况下不会出现,到是我遇上过在换了Oracle客户端后,在PL/SQL中查询结果出现了中文全是问号(?)的情况,这是因为客户端字符集与服务器端字符集不一致的导致的,所以我们可以通过配置环境变量来解决这个问题,具体如下:
设置环境变量,新建一个环境变量:NLS_LANG,值是:AMERICAN.ZHS16GBK
这样基本上就可以解决这个问题了。
5.如果之前安装了Oracle 又卸载,会遗留NLS_LANG=NA的键值.
输入RegEdit打开注册表HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE.在右面找到NLS_LANG=NA并删除掉,否则会报ORA-12705: Cannot access NLS data files or invalid 错误.
6.登陆pl/sql测试
注意:设定了环境变量之后,一定要注销或者重启一下电脑才生效!
plsql连接64位oracle的方法
如果本机器上安装的是64位的oracle则plsql就无法调用64位的 oci.dll 文件导致无法plsql无法连接到oracle,也可以用这个方法
只是环境变量稍作改变
变量名: TNS_ADMIN
变量值: 64位oracle安装目录下面的tnsnames.ora文件的路径(例如:D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN )
变量名: path
变量值:D:\oracle_client (注意如果path中存在64位oci.dll文件的路径,则这个路径要加在64位路径之前)