php连接oracle方法_(sdic)测试成功

来源:互联网 发布:西科软件java 编辑:程序博客网 时间:2024/06/05 09:52

PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。你的PHP安装选项应该可以支持两者的使用。

由于OCI函数访问oracle8以上的数据库需要用到Oracle8 Call-Interface(OCI8),这个扩展模块需要oracle8的客户端函数库,因此需要连接远程数据库的话,还需要连接端安装oracle客户端软件,可以到http://www.oracle.com免费下载,这是必须的,否则会报方法未定义错。

步骤:
1、安装apache和php。
2、安装Oracle 10g Instant Client(或其他版本)。
2、在php.ini中打开extension=php_oci8扩展。
3、将php/ext目录下的php_oci8.dll文件拷贝到system32目录下。
4、编写测试脚本测试。

可能出现的错误:
1、call to undefined function oci_connect()......:这是因为没找到php_oci8.dll,检查apache的错误日志error.log可能会看到:php startup :unable to load dynamic liberaries php_oci8.dll......
解决方法:将php/ext目录下的php_oci8.dll文件拷贝到system32目录下,如果还不行,将Oracle 10g Instant Client安装目录下/product/10.2.0/db_2/BIN目录中的oci.dll文件拷贝到system32下。
2、OCIEnvNlsCreate() failed....... PATH includes the directory with Oracle Instant Client libraries
解决方法:重启机器,如果还不行,安装Oracle 10g Instant Client。

重点参考:
http://home.phpchina.com/space.php?uid=66809&do=blog&id=185647
http://hi.baidu.com/systn/blog/item/56bb5925e6cb886935a80f2e.html/cmtid/ca9c4d1067cf900a213f2e1c

 

以上步骤在windows 2003,apache 2.2.16,php5.2.4,oracle 10.2.0下测试成功。