ITPub博客

首页 > 数据库 > Oracle > PHP、PLSQL连接oracle数据库的方法

PHP、PLSQL连接oracle数据库的方法

Oracle 作者:fucshit 时间:2011-03-17 21:57:15 0 删除 编辑

众所周知,在使用PHP(针对5.2及后续版本)和PLSQL操作oracle数据库前需要先安装客户端来部署环境,然而事实上在连接过程中仅仅只需要客户端中的几个文件罢了。完整版客户端对于我们这些数据库不在本地,仅仅需要远程操作数据库的人来说过于庞大了。

所以我们没有必要去安装动辄几百兆大的完整版客户端,仅仅只需要客户端里面的几个文件罢了。幸运的是,官方提供了客户端的basic版本,30M左右,只提供了连接所必须的文件。悲剧的是,该版本并不是完美的,使用PHP时没什么问题,但是使用PLSQL时缺少一个重要的文件,使得PLSQL无法连接远程数据库,而且该版本是没有安装程序的,所以我们还需要对其进行一些设置后才可以使用。

basic版客户端下载:http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html

版本的选择原则上跟你远程数据库版本的大版本号一致即可,然后将下载下来的客户端解压到一个固定的位置,以后不要移动它,除非你同步它的环境变量(后面说)。右键我的电脑>属性>高级>环境变量,在系统变量的“Path变量”里,按照格式将客户端的路径添加进去即可,如“E:instantclient10;”。此时PHP已经可以正确连接远程数据库了,但对于PLSQL来说还不够,我们还需要进行一些设置。注意:系统环境变量的修改需要重启后才能生效,每次修改后需要重启一次才可以看到效果。

将以下内容保存为“tnsnames.ora”,IP地址修改成你的远程数据库的IP地址。

ORCL_192.168.10.110 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.110)(PORT = 1521))

)

(CONNECT_DATA =

(SID = orcl)

(SERVER = DEDICATED)

)

)

然后将“tnsnames.ora”放到客户端的目录里即可,接着在系统变量里添加一个新变量,变量名为“TNS_ADMIN”,变量值为你的客户端路径,如“E:instantclient10”。然后打开PLSQL,不要登录选择取消进入主界面,在工具>首选项>Oracle>连接里将Oracle主目录指向你客户端的目录,将OCI库指向你客户端下的“oci.dll”文件,保存后重启,PQSQL即可成功连接远程数据库。

如果出现乱码说明客户端的编码与远程数据库的编码不一致,此时还需要在系统变量里添加一个新变量,变量名为“NLS_LANG”,变量值为“SIMPLIFIED CHINESE_CHINA.AL32UTF8”,我的编码是UTF8,请根据实际情况自行修改。系统变量生效后乱码问题圆满解决~

 

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26110009/viewspace-1117684/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-07-29