php连接oracle - CSDN
精华内容
参与话题
  • 本文实例讲述了php连接oracle数据库及查询数据的方法。分享给大家供大家参考。具体分析如下: php有强大的功能不但可以支持mysql,mssql,mysqli之个我们还可以与oracle数据连接,要让php支持oracle非常的简单我们...

    转自:https://www.jb51.net/article/59155.htm

    本文实例讲述了php连接oracle数据库及查询数据的方法。分享给大家供大家参考。具体分析如下:

    php有强大的功能不但可以支持mysql,mssql,mysqli之个我们还可以与oracle数据连接,要让php支持oracle非常的简单我们只要把php.ini中的;extention = php_oci8.dll分号去掉即可.

    php支持oracle连接函数

    php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分号,重启apache就可以了,如果不行,我们再把php目录中的php_oci8.dll拷到windows系统的system32下面去吧.

    oracle数据库建立链接,代码如下:

    1.

    $conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.1.100)(PORT = 1521))(CONNECT_DATA =(SID=test)))");


    2.

    $conn = oci_connect('username','password','192.168.1.100/test');


    3.Oracle 连接方法:

    set adocon=Server.Createobject("adodb.connection")
    adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"


    4.Oracle OLE DB 连接方法:

    set adocon=Server.Createobject("adodb.connection")
    adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"


    有的时候第一种方式不行,使用第二种,里面的几个参数分别是用户名、密码、oracle服务地址,其中test是服务名,代码如下:

     

    $sql = "select * from table_exmaple"
    $ora_test = oci_parse($conn,$sql);  //编译sql语句
    oci_execute($ora_test,OCI_DEFAULT);  //执行
    while($r=oci_fetch_row($ora_test))  //取回结果
    {
    echo $ora_test[0];
    echo "<BR>";  
    }


    看个完整的例子,如果PHP版本>5.0,那么使用下面的函数:

     

    oci_connect ( username, password , dbname )


    例子,代码如下:

    :

    <?php
    $conn = oci_connect('hr', 'hr', 'orcl'); // 建立连接
    if (!$conn) {
    $e = oci_error();
    print htmlentities($e['message']);
    exit;
    }
    $query = 'SELECT * FROM DEPARTMENTS'; // 查询语句
    $stid = oci_parse($conn, $query); // 配置SQL语句,准备执行
    if (!$stid) {
    $e = oci_error($conn);
    print htmlentities($e['message']);
    exit;
    }
    $r = oci_execute($stid, OCI_DEFAULT); // 执行SQL。OCI_DEFAULT表示不要自动commit
    if(!$r) {
    $e = oci_error($stid);
    echo htmlentities($e['message']);
    exit;
    }
    // 打印执行结果
    print '<table border="1">';
    while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
    print '<tr>';
    foreach($row as $item) {
    print '<td>'.($item?htmlentities($item):' ').'</td>';
    }
    print '</tr>';
    }
    print '</table>';
    oci_close($conn);
    ?>

    展开全文
  • php连接oracle及简单操作

    千次阅读 2013-09-12 15:13:02
    使你的php支持oracle,按照以下步骤即可: 1.安装php环境,找一下appserv或者xampp,一键安装,很方便 2.把php的ext目录下的php_oci8.dll拷到system32目录下 3.修改php.ini文件中的配置,去掉 ;extention = ...

    使你的php支持oracle,按照以下步骤即可:

    1.安装php环境,找一下appserv或者xampp,一键安装,很方便

    2.把php的ext目录下的php_oci8.dll拷到system32目录下

    3.修改php.ini文件中的配置,去掉  ;extention = php_oci8.dll,去掉前面的分号

    4.重启apache


    两种方式和oracle数据库建立链接

    1.$conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.1.100)(PORT = 1521))(CONNECT_DATA =(SID=test)))");

    2.$conn = oci_connect('username','password','192.168.1.100/test'); 

    有的时候第一种方式不行,使用第二种,里面的几个参数分别是用户名、密码、oracle服务地址,其中test是服务名。


    $sql = "select * from table_exmaple"

    $ora_test = oci_parse($conn,$sql);  //编译sql语句

    oci_execute($ora_test,OCI_DEFAULT);  //执行

    while($r=oci_fetch_row($ora_test))  //取回结果
    {
    echo $ora_test[0];
    echo "<BR>";
    }

    展开全文
  • 我在网上查询了很多资料,通过这些资料参考,我知道了想要用php连接oracle需要安装php的oci8扩展,所以我就开始跟公司的两位运维小哥一起实践探索了;下面呢,是我自己成功以后做的一个大概的操作步骤,希望可以给...

    原因:因为公司的要求,我需要在我负责的一台服务器中连接操作oracle数据库,这是我第一次用php接触oracle;我在网上查询了很多资料,通过这些资料参考,我知道了想要用php连接oracle需要安装php的oci8扩展,所以我就开始跟公司的两位运维小哥一起实践探索了;下面呢,是我自己成功以后做的一个大概的操作步骤,希望可以给大家带来帮助吧。

    第一步:你要有一个正常的lamp或者lnmp环境的linux服务器;

    第二步:你需要先安装一个oracle及时客户端;

    1.首先Oracle官网下载相关安装包:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

    备注:根据访问数据的版本下载对应客户端。每种包又分.zip、.rpm两种格式包,zip包相当于解压后免安装版,rpm包需要安装版。

    2.将下载下来的安装包,安装解压缩到/usr/local/oracle

    rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

    rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

    3.生成目录/usr/local/oracle/instantclient_11_2/network/admin,并cd进入该目录

    4.在上述目录新建tnsnames.ora文件,并编辑数据库链接信息

    history_162 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.197.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID =xxx) ) )

    5.配置环境变量:vi .bash_profile

    export ORACLE_HOME=/usr/local/oracle/instantclient_11_2

    export TNS_ADMIN=$ORACLE_HOME/network/admin

    ##export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

    export LD_LIBRARY_PATH=$ORACLE_HOME

    export PATH=$ORACLE_HOME:$PATH

     

    配置完成后,执行:source .bash_profile

    第三步:你需要去oracle官网下载oce包的相关扩展,下载的oci8要与你服务器的php版本对应,然后进行安装:

    oci8-2.2.0扩展包下载:https://download.csdn.net/download/weixin_41617067/11096492

    备用以防大家需要:rz文件上传扩展安装命令: yum -y install lrzsz

    1、将下载的oci包进行加压:tar zxvf oci8-2.2.0.tgz

    2、cd oci8-2.2.0/

    3、/usr/local/php-7.2.9/bin/phpize  CFLAGS=/usr/lib/oracle/11.2/client64/ CXXFLAGS=/usr/lib/oracle/11.2/client64/

    4、./configure --with-php-config=/usr/local/php-7.2.9/bin/php-config --with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib/

    备注:第一个url是你php安装的目录,第二个目录是你oracle客户端的安装目录;

    5、make

    6、make install (这里多运行几次,直到出现如下提示)

    /bin/sh /root/oci8-1.3.5/libtool --mode=install cp ./oci8.la /root/oci8-1.3.5/modules
    cp ./.libs/oci8.so /root/oci8-1.3.5/modules/oci8.so
    cp ./.libs/oci8.lai /root/oci8-1.3.5/modules/oci8.la
    PATH="$PATH:/sbin" ldconfig -n /root/oci8-1.3.5/modules
    ----------------------------------------------------------------------
    Libraries have been installed in:/root/oci8-1.3.5/modules

    7、现在php中就会生成oci8.so (我的PHP版本是7.2.9);你可以通过:find / -name oci8.so 命令查找出oci8.so的正确路径;

    8、打开你php目录下的etc中的php.ini文件,找到文件中的 [oci8] ,在其下面加上:extension = "/usr/local/php-7.2.9/lib/php/extensions/no-debug-non-zts-20131226/oci8.so" 保存退出;

    备注:oci8.so的路径是你时间安装的正确路径

    9、使用:php -m 命令查看oci8是否安装成功;

    10、使用:shutdown -r now 命令重启服务器或者重启你的Apache、nginx服务器也是可以的;

    11、重启后使用phpinfo()查看一下php配置中是否有oci8,有的话就是安装成功,没有的话就是安装失败;

    第四步:连接测试

    备注:连接oracle数据库时要注意编码问题哦

    如果测试查询数据也是正常的话,那么恭喜您,您php远程连接oracle数据库已经成功了,之后的事情,就看您自己的心情了。要是文章中有什么问题,欢迎各位大神指出、教训,小弟不胜感谢!

    展开全文
  • PHP添加扩展连接oracle数据库

    千次阅读 2019-10-26 17:52:06
    本地安装好的oracle客户端版本是Oracle Database 11gRelease 2Microsoft Windows (32-bit) 使用的是集成环境xampp v3.2.2里的php5.6.24 1. php的ext文件夹里只有php_oci8_12c.dll,只支持oracle 12c版本的数据库,...

    本地安装好的oracle客户端版本是Oracle Database 11g Release 2 Microsoft Windows (32-bit)

    使用的是集成环境xampp v3.2.2里的php5.6.24 

    1. php的ext文件夹里只有php_oci8_12c.dll,只支持oracle 12c版本的数据库,因此只能自己下载11g的扩展文件添加进ext里

    下载链接:https://pecl.php.net/package/oci8/2.0.8/windows

    根据所安装php是32位还是64位而选择不同的文件下载,需要特别注意的是文件还有线程安全Thread Safe (TS)和非线程安全Non Thread Safe (NTS) 两种,那就要先查看php是ts是nts。我的php是ts的,一开始没注意这个问题下载了nts,结果一直报错说找不到php5.dll文件,然后我查看php文件夹里的php5.dll发现是ts马上重新下载。

    下载后把里面的php_oci8_11g.dll解压到php的ext文件夹。

    2. 打开php.ini添加保存php_oci8_11g.dll扩展

    3. 下载oracle instant client 因为我的php是32位我下载的是32bit的

    下载链接:http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

    下载后解压,我的路径是C:\instantclient_12_1,然后把路径添加至系统环境变量。

    4. 新建一个php脚本输入代码

    <?php
        phpinfo();
    ?>

    保存后重启或开启Apache,访问脚本查看oci8扩展是否已添加,如下图显示表示已成功开启扩展,此时可尝试连接oracle。

    展开全文
  • 完美解决php连接oracle数据库问题。有php连接oralce所需要的动态库,还有php连接oracle的测试的例子。经过测试,肯定能用!
  • php 连接Oracle数据库

    2018-06-07 11:45:13
    //数据库连接语句 四个参数分别为 ’数据库用户名‘,’数据库密码‘,host和服务名$connect = oci_connect('username','passwd','127.0.0.1/serviceName') or die('数据库连接失败');...
  • php 连接oracle数据库

    千次阅读 2018-06-04 16:10:50
    1、在php.ini中开启 extension=php_oci8.dll extension=php_oci8_11g.dll(去掉分号即可),扩展下载地址:http://pecl.php.net/package/oci82、安装oracle客户端,...
  • 以下是基于 wampServer 的php 访问oracle数据库的操作步骤: 1、第一步:让PHP支持OCI  首先,安装PHP的集成运行环境,网上有很多集成,我安装的是WampServer的(具体的安装方法也可以参考之前写的另一篇文章)...
  • php 连接oracle

    2019-07-06 09:10:08
    https://blog.csdn.net/qq_34221812/article/details/85269781 ... 解决乱码问题: 连接时 设置编码:$conn = oci_connect("C##SCOTT", "tiger",$db,'utf8'); 绑定数据时候中文转码:mb_cov...
  • navicat是通过oracle客户端连接oracle服务器的. oracle的客户端有两种,一种标准的客户端安装程序,下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 而另外一种就是...
  • 首先,本篇文章重点分享的是:在Win平台下,如何使用PHP7连接Oracle 12C,所以关于Oracle的安装和配置,请自行百度或Google. 按照这个教程,基本能解决大多数的连接Oracle报错的问题! 准备工作:(64位为...
  • 1.64位win7 安装了oracle11g 使用Navicat for Oracle cannot load OCI DLL,126 解决方法:navicat 菜单中 -工具->选项->OCI 选择oracle安装目录下bin里面的oci.dll 但是发现还是报错。 Cannot load ...
  • MacOs+Navicat+instantclient实现oracle连接

    万次阅读 2017-03-23 12:23:22
    macOS+navicat+instantclient实现oracle连接,希望可以帮到你。
  • PHP远程连接oracle

    千次阅读 2013-08-15 11:02:05
    PHP远程连接oracle 系统:windows 2003 SP1 环境:PHP5.20 Apache 2.0.59 数据库为:Oracle8i 运行在192.168.1.2这台服务器上。 1、在php的配置文件php.ini中,取消extension=php_oci8.dll的注释。(还有...
  • php连接oracle方法_(sdic)测试成功

    万次阅读 2012-06-16 15:34:03
    PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。你的PHP安装选项应该可以支持两者的使用。 由于OCI函数访问oracle8以上的...
  • 数据库迁移之从oracle 到 MySQL

    万次阅读 多人点赞 2014-09-03 12:14:36
    之前搭建了一个ExtJS + Spring + Oracle 的这样一个报表系统的框架。 因为其他部门的要求, 也需要这个Framework 进行一些特殊的定制。 但是有一个问题是 Oracle 的数据库是需要收费的, 个人使用倒没什么问题, ...
  • 好多好多年前,我也玩过一次PHP连接Oracle数据库,因为Oracle不是大众民用所以使用到的概率也很低。今天难得遇到了一个配置的机会,就要试试咯。 一般我们开启扩展支持,只需要在php.ini中打开扩展就可以,...
  • 最全面详细讲解Oracle入门(新手必看)

    万次阅读 多人点赞 2017-12-26 16:26:32
    本章内容: Ø Oracle介绍 Ø 安装步骤 Ø 基本使用 Ø 用户管理
  • ODBC数据源连接Oracle数据库示例

    千次阅读 2012-10-18 09:08:25
    1.选择“Microsoft ODBC for Oracle” 2.数据源名:连接字符串中的名字 / 用户名: 数据库名字(SID名)/服务器名:数据库服务器IP地址 using System.Data.Odbc; private void MonitorBatch() { string ...
  • 数据库迁移之-Oracle 与MySQL互相转换

    万次阅读 2018-01-29 17:28:14
    理论上来说, MySQL 已经被Oracle 收购, 这两者之间的Migrate 应该比较容易, 但实际的迁移还是有一些问题, 以下就说一说一些实现的方式和问题。 方式一:手动方式导入导出 手动的方式导入, 就是操作步骤会比较...
1 2 3 4 5 ... 20
收藏数 37,312
精华内容 14,924
热门标签
关键字:

php连接oracle