1、让PHP支持OCI,只需如下几步:
首先,安装PHP的集成运行环境,或者理解为服务器吧,我安装的是名叫WampServer的,安装好后,从安装目录中找到php.ini文件,比如我本地的路径是D:\wamp\bin\php\php5.3.3,将php.ini中的php_oci8.dll的;去掉,也就是把注释去掉,相当于可以使用php_oci8了。
2、然后wampserver运行后,将php>php extentions中将php_oci8打上勾。
2、安装的有Oracle客户端,并且在Oracle安装配置文件,tnsnames.ora文件,此文件路径是安装oracle的路径,比如我本机的是
F:\oracle\product\10.2.0\client_1\NETWORK\ADMIN ,所连的200数据库,其中的配置详情如下:
200 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.200)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = tongcard)
)
)
以下是使用PHP的OCI得到db的方法,与上面的tnsnames.ora文件非常类似:
$db = " (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = $host)(PORT = $port)) (CONNECT_DATA = (SID=$sid) (SERVER = DEDICATED) (SERVICE_NAME = $sname) ) )";
比照以上的两片代码可以发现:
CONNECT_DATA = (SERVICE_NAME = tongcard)
CONNECT_DATA = (SID=$sid)
service_name名为tongcard, sid就是service_name的值。
下面是一个例子,验证是否连接数据库成功,因为想以最快速度验证使用PHP的OCI连接数据库成功,所以没有写HTML页面,直接模拟了一个登录,将所需要的参数以变量形式传入。
<?php /* * To change this template, choose Tools | Templates * and open the template in the editor. */ //以下是变量(数据库连接的配置) $host = "192.168.1.200"; $port = "1521"; $sid = "tongcard"; $sname = "tongcard"; $db_user = "tmp2120723"; $db_pwd = "ceshi"; //以下是模拟登录,输入的参数为用户名和密码。此处为了简便没有写HTML页面, //将user_pass作为输入的值传入,为了验证连接数据库是否成功。 $userName ='admin'; $user_pass ='123456'; $user_id = '01040010001.admin'; if (!($conn = connect_oracle2($host, $port, $sid, $sname, $db_user, $db_pwd))) {//是否得到数据库链接 echo "connot connect the Oracle database"; exit; } $qry = "select * from tmp2120723.admin_users t where t.user_id=:userId and t.login_name = :loginName"; $sql = oci_parse($conn, $qry);//查询转换 oci_bind_by_name($sql, ":loginName", $userName, 32);//查询语句$sql,条件所需要的参数loginName,值为$userName,长度为32.长度可以不写 oci_bind_by_name($sql, ":userId",$user_id );//$sql查询语句,所需要的参数userId,值 为$user_id变量的值, echo "<br/>"; oci_execute($sql);//执行sql $row = array();//查询都是返回array() while ($result = oci_fetch_array($sql, OCI_ASSOC)) {//使用oci_fetch_array函数遍历 $row[] = $result;//转成数组的结果集 foreach ($result as $key => $value) { if ($key == 'LOGIN_PASSWD') { if (md5($user_pass) == $value) {//密码MD5后的值=从数据库表中查询出来的value echo "login success<br/>"; } else { echo "login failed <br/>"; } } } } //连接数据库方法 function connect_oracle2($host, $port, $sid, $sname, $db_user, $db_pwd){ $db = " (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = $host)(PORT = $port)) (CONNECT_DATA = (SID=$sid) (SERVER = DEDICATED) (SERVICE_NAME = $sname) ) )"; $dbconn = ocilogon($db_user, $db_pwd, $db); return $dbconn; } ?>
运行该文件,我是将此文件放入到wamp的D:\wamp\www\里面,其实这只是一个文件,并不是一个项目,最初为了验证如果不将此文件直接放在wamp的www,而是放在一个文件夹里,该如何访问,因此增加了一个testing的文件夹,将此文件放入到testing目录下,我的文件名叫TestOne.php
准备进绪,开始访问:
http://localhost/testing/TestOne.php
这里值得一提的是,PHP的访问,在默认为8080端口时,不需要在localhost后面加:8080,假如没有testing文件夹,则直接是http://localhost/TestOne.php
访问结果:
分享到:
相关推荐
本篇文章将详细介绍如何在Delphi中通过OCI连接到Oracle数据库,以及这种连接方式的优势。 首先,OCI是Oracle提供的C语言接口,它允许开发者直接调用Oracle服务器的内部函数,实现对数据库的高效访问。Delphi虽然...
本文将详细介绍如何使用C++通过OCI来连接并操作Oracle数据库。 首先,理解OCI的基本概念是至关重要的。OCI提供了全面的API,包括数据查询、事务管理、游标操作、并发控制等功能。它允许程序员在不依赖于特定的...
oci连接Oracle是数据库开发中的一个重要话题,特别是在C++编程中,Oracle Call Interface (OCI) 是Oracle数据库提供的一种C语言接口,用于与Oracle数据库进行交互。oci连接Oracle涉及到的知识点广泛,包括基本概念、...
使用 OCI 连接 Oracle 数据库需要经过以下步骤: 1. 初始化 OCI 环境:使用 OCIEnvCreate 函数创建 OCI 环境句柄。 2. 创建错误句柄:使用 OCIHandleAlloc 函数创建错误句柄。 3. 创建服务上下文句柄:使用 ...
在了解如何使用Visual C++(VC)通过OCI(Oracle Call Interface)连接和操作Oracle数据库之前,我们需要先了解一些基础知识点。OCI是Oracle提供的一套API,它允许程序直接与Oracle数据库进行通信,而不必通过中间层...
用C写的linux下通过OCI函数连接oracle数据库的示例程序,可参考链接:linux下用C编写的OCI连接Oracle数据库程序,Oracle常用的OCI函数:http://blog.csdn.net/seven407/archive/2009/11/24/4864430.aspx
在本文中,我们将详细探讨如何使用Visual C++(VC)结合Oracle Call Interface(OCI)库来连接和操作Oracle数据库。通过Hook Navicat for Oracle数据库管理工具,我们可以捕获到OCI函数的调用顺序和参数,并以此为...
在本文中,我们将深入探讨如何使用Navicat连接到Oracle数据库,特别是涉及Oracle Call Interface (OCI) 文件在Oracle 11版本中的应用。 首先,Oracle Call Interface (OCI) 是Oracle提供的一种C语言编程接口,它...
在本场景中,“OracleOCI连接数据库使用”指的是使用OCI库来建立和管理与Oracle数据库的连接。 Navicat Premium是一款多数据库管理工具,支持包括Oracle在内的多种数据库系统。在描述中提到“用于Navicat Premium...
下面将详细介绍如何在VC++中使用Oracle OCI进行数据库连接和表的操作。 首先,确保你已经安装了Oracle的客户端库,包括oci.dll和其他必要的动态链接库。这些库通常在Oracle Instant Client包中提供,需要将其路径...
在本文中,我们将深入探讨如何使用Navicat连接到Oracle 12c数据库,以及oci文件在其中的作用。 首先,OCI(Oracle Call Interface)是Oracle数据库提供的一种API,它允许开发者用C语言编写程序来访问数据库。OCI...
这个oci.zip文件包含的应该是Oracle 11g的OCI驱动或者相关的配置文件,用于PL/SQL Developer或其他支持OCI的应用程序建立到Oracle数据库的连接。 在PL/SQL Developer中,当你需要连接到Oracle数据库时,通常需要...
本文档主要介绍了使用C语言编写的OCI连接Oracle数据库的方法,包括创建数据库、插入数据、OCI代码实现连接数据库等内容。 一、创建数据库 创建数据库是使用Oracle数据库管理系统的基本操作,通过使用SQL语句可以...
下面我们将深入探讨如何在C#中使用oci.dll进行Oracle数据库的直连,以及相关的注意事项和步骤。 首先,oci.dll是Oracle提供的一个动态链接库,它提供了对Oracle数据库的底层访问。由于不需要Oracle客户端,这种方法...
你可以通过阅读这些文件进一步了解和学习如何在Linux系统上使用OCI连接Oracle数据库。 总之,掌握Linux上的OCI编程是提升数据库应用开发能力的关键技能之一。通过深入学习和实践,你将能够利用OCI接口实现高效、...
标题中的“navicat连接oracle 万能oci”指的是使用Navicat这款数据库管理工具来连接Oracle数据库,其中“万能oci”可能是指一个通用的Oracle Call Interface (OCI) 文件,这种文件允许Navicat与不同版本的Oracle...
oci-oracle.rar_OCI oracle_oci_oracle是一个与Oracle数据库交互的示例,它使用了Oracle Call Interface (OCI)技术来实现一个简单的图书馆管理系统。OCI是Oracle提供的C语言编程接口,允许开发者直接与Oracle数据库...
完成上述步骤后,你就可以在PHP7.0中使用oci8扩展连接Oracle数据库了。oci8提供了许多函数,如`oci_connect`用于创建数据库连接,`oci_error`用于获取错误信息,`oci_execute`执行SQL语句,`oci_fetch_array`获取...
这个 OCI.rar 包含的示例程序可能就是这样一个简单的 OCI 连接和操作数据库的实例,它可以帮助初学者快速理解如何在 C 程序中使用 OCI 接口。通过阅读和实践这个小程序,你可以学习到 OCI 的基本用法,并为进一步的...
本教程将详细讲解如何使用OCI进行基本的数据库连接、访问和更新操作。 一、安装与配置 在使用OCI之前,确保已安装Oracle Instant Client,它是运行OCI程序所必需的库。根据操作系统选择相应的版本,并按照官方指南...