使用PHP5 通过unixODBC/easysoft oracle odbc driver 连接 ORACLE
2006-04-19 17:35
603 查看
环境说明:RedHat Linux EL4
apache 2.0.55
php 5.1.2
unixODBC 2.2.9
easysoft oracle driver: odbc-oracle-3.0.0-linux-x86-glibc
ORACLE 10gr2
通过PHP连接oracle 数据库,笔者选择了 easysoft的odbc driver作为中间件,据说比oracle 自身的优秀,本文只说安装,没有任何对比,仅供参考
1、apache 2.0.55安装:此处编译安装到/www 目录,其他略
2、unixODBC 安装
由于PHP 编译需要unixODBC 的头文件,所以需要安装unixODBC devel和unixODBC库
从RHEL4光盘的第3和第4张分别查找到 unixODBC-devel-2.2.9-1.i386.rpm 和 unixODBC-2.2.9-1.i386.rpm
执行:
rpm -ivh unixODBC-2.2.9-1.i386.rpm
rpm -ivh unixODBC-devel-2.2.9-1.i386.rpm
(建议执行前通过 rpm -qa|grep unixODBC 查找一下,是否已经安装)
3、php 5.1.2 安装
下载 php-5.1.2.tar.gz 依次执行:
tar zxvf php-5.1.2.tar.gz
cd php-5.1.2
./configure --prefix=/www/php --with-apxs2=/www/bin/apxs --with-zlib --with-mysql=/usr/lib/mysql --enable-soap --enable-sockets --with-gd --with-libxml --with-unixODBC=/usr --with-dom=/usr --with-dom-xslt=/usr --with-dom-exslt=/usr --with-xmlrpc=shared
(根据需要添加,重点在 --with-unixODBC=share,/usr)
make
make install
4、easysoft oracle driver 安装
从www.easysoft.com 下载 driver 安装包:odbc-oracle-3.0.0-linux-x86-glibc.tar
依次执行:
tar xvf odbc-oracle-3.0.0-linux-x86-glibc.tar
cd odbc-oracle-3.0.0-linux-x86-glibc
./install (默认安装到:/usr/local/easysoft)
按提示执行,基本上都是Yes,当提示是否使用其自身携带的unixODBC时,可选否,使用系统已经安装的。
由于此driver 涉及到License问题,可以根据提示获取一个license
此时在 /usr/local/easysoft/license/ 产生名为 license.out的文件,执行:
mv license.out license
如不产生License则无法运行
5、修改/etc/odbc.ini 以下为示例
[Data Sources]
ips = Oracle ODBC Driver DSN
[default]
Driver = /usr/local/easysoft/oracle/libesoracle.so
[test]
Driver = /usr/local/easysoft/oracle/libesoracle.so
Description = Oracle
server = 10.3.7.7
ServerType = Oracle
Port = 1521
User = hunter
Password = hunterpass
Database = ORCL.CCPUIPS.COM
SID = orcl.ccpuips.com
METADATA_ID = 0
ENABLE_USER_CATALOG = 1
ENABLE_SYNONYMS = 1
[default]
Driver = /usr/local/easysoft/oracle/libesoracle.so
6、修改/etc/odbcinst.ini
[test]
Descriptions = ODBC for Oracle
Driver = /usr/local/easysoft/oracle/libesoracle.so
7、修改$ORACLE_HOME/netword/admin/tnsnames.ora (根据需要安装Oracle客户端),如下为示例:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = HunterZhao.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.hunter.com)
)
)
8、修改$ORACLE_HOME/netword/admin/tnsnames.ora (根据需要安装Oracle客户端),如下为示例:
NAMES.DIRECTORY_PATH=(TNSNAMES,ONAMES,HOSTNAME)
9、修改/www/conf/httpd.conf 增加ORACLE的环境变量
SetEnv ORACLE_BASE /u01/oracle10g
SetEnv ORACLE_HOME /u01/oracle10g/home10g
SetEnv ORACLE_SID orcl
SetEnv LD_LIBRARY_PATH /usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib:/u01/oracle10g/home10g/lib
10、修改$ORACLE_HOME的权限,使得外部用户可以访问$ORACLE_HOME目录中的内容。
11、启动apache :
/www/bin/apachectl start
到此,理论上应该成功:)
apache 2.0.55
php 5.1.2
unixODBC 2.2.9
easysoft oracle driver: odbc-oracle-3.0.0-linux-x86-glibc
ORACLE 10gr2
通过PHP连接oracle 数据库,笔者选择了 easysoft的odbc driver作为中间件,据说比oracle 自身的优秀,本文只说安装,没有任何对比,仅供参考
1、apache 2.0.55安装:此处编译安装到/www 目录,其他略
2、unixODBC 安装
由于PHP 编译需要unixODBC 的头文件,所以需要安装unixODBC devel和unixODBC库
从RHEL4光盘的第3和第4张分别查找到 unixODBC-devel-2.2.9-1.i386.rpm 和 unixODBC-2.2.9-1.i386.rpm
执行:
rpm -ivh unixODBC-2.2.9-1.i386.rpm
rpm -ivh unixODBC-devel-2.2.9-1.i386.rpm
(建议执行前通过 rpm -qa|grep unixODBC 查找一下,是否已经安装)
3、php 5.1.2 安装
下载 php-5.1.2.tar.gz 依次执行:
tar zxvf php-5.1.2.tar.gz
cd php-5.1.2
./configure --prefix=/www/php --with-apxs2=/www/bin/apxs --with-zlib --with-mysql=/usr/lib/mysql --enable-soap --enable-sockets --with-gd --with-libxml --with-unixODBC=/usr --with-dom=/usr --with-dom-xslt=/usr --with-dom-exslt=/usr --with-xmlrpc=shared
(根据需要添加,重点在 --with-unixODBC=share,/usr)
make
make install
4、easysoft oracle driver 安装
从www.easysoft.com 下载 driver 安装包:odbc-oracle-3.0.0-linux-x86-glibc.tar
依次执行:
tar xvf odbc-oracle-3.0.0-linux-x86-glibc.tar
cd odbc-oracle-3.0.0-linux-x86-glibc
./install (默认安装到:/usr/local/easysoft)
按提示执行,基本上都是Yes,当提示是否使用其自身携带的unixODBC时,可选否,使用系统已经安装的。
由于此driver 涉及到License问题,可以根据提示获取一个license
此时在 /usr/local/easysoft/license/ 产生名为 license.out的文件,执行:
mv license.out license
如不产生License则无法运行
5、修改/etc/odbc.ini 以下为示例
[Data Sources]
ips = Oracle ODBC Driver DSN
[default]
Driver = /usr/local/easysoft/oracle/libesoracle.so
[test]
Driver = /usr/local/easysoft/oracle/libesoracle.so
Description = Oracle
server = 10.3.7.7
ServerType = Oracle
Port = 1521
User = hunter
Password = hunterpass
Database = ORCL.CCPUIPS.COM
SID = orcl.ccpuips.com
METADATA_ID = 0
ENABLE_USER_CATALOG = 1
ENABLE_SYNONYMS = 1
[default]
Driver = /usr/local/easysoft/oracle/libesoracle.so
6、修改/etc/odbcinst.ini
[test]
Descriptions = ODBC for Oracle
Driver = /usr/local/easysoft/oracle/libesoracle.so
7、修改$ORACLE_HOME/netword/admin/tnsnames.ora (根据需要安装Oracle客户端),如下为示例:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = HunterZhao.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.hunter.com)
)
)
8、修改$ORACLE_HOME/netword/admin/tnsnames.ora (根据需要安装Oracle客户端),如下为示例:
NAMES.DIRECTORY_PATH=(TNSNAMES,ONAMES,HOSTNAME)
9、修改/www/conf/httpd.conf 增加ORACLE的环境变量
SetEnv ORACLE_BASE /u01/oracle10g
SetEnv ORACLE_HOME /u01/oracle10g/home10g
SetEnv ORACLE_SID orcl
SetEnv LD_LIBRARY_PATH /usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib:/u01/oracle10g/home10g/lib
10、修改$ORACLE_HOME的权限,使得外部用户可以访问$ORACLE_HOME目录中的内容。
11、启动apache :
/www/bin/apachectl start
到此,理论上应该成功:)
相关文章推荐
- ubuntu下使用unixODBC+ODBC Driver 11 for SQL Server 连接SQL Server
- ORACLE 11g 通过odbc建立连接到mysql库的database link
- 使用plsql连接oracle一样,使用ClouderaImpalaODBC32.msi工具连接impala的方法!
- 通过脚本生成oracle的ODBC连接
- Oracle 通过ODBC 连接GreenPlum
- oracle:unix(linux适用)环境下使用occi远程连接oracle数据库(新人教学版)---1
- Connection-通过OracleDriver的基本方法建立Connection连接
- ls使用ODBC连接Oracle注意的事项
- win7(64bit)下通过odbc连接oracle的解决方案
- 使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题
- 使用odbc连接oracle,sqlserver和access
- 通过 ODBC 来连接 Oracle 数据库
- cognos10.2.2使用ODBC连接oracle92数据库(BMT-IMP-0016)
- 64位win7平台下,使用C语言通过odbc无法连接MySQL数据库的问题。
- 【原】powerbuilder 12.5 通过odbc连接oracle 11 r2
- 关于Eclipse通过JDBC或者ODBC连接Oracle
- 使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题
- oracle:unix(linux适用)环境下使用occi远程连接oracle数据库(新人教学版)---2
- 使用Excel 通过 ODBC 连接到 MySQL 数据库
- EXCEL 通过ODBC连接ORACLE, 导出表或数据透视表进行分析