php如何读oracle

php中文网
发布: 2016-06-23 13:55:08
原创
1407人浏览过

RT,已经在php.ini中启用了extension=php_oci8_11g.dll ,可在phpinfo中看不到oci信息,请问还需进行其他什么配置吗?oracle11g的

小绿鲸英文文献阅读器
小绿鲸英文文献阅读器

英文文献阅读器,专注提高SCI阅读效率

小绿鲸英文文献阅读器 199
查看详情 小绿鲸英文文献阅读器

回复讨论(解决方案)

需要安装 oracle11g 的客户端

因为自 oracle 9 起,他的客户端就单独发行了,php 已经没有必要将客户端捆绑进来
所以只提供了与客户端通讯的接口 php_oci8 和 php_oci8_11g
由于 oracle11g 的客户端做了很大的改动,因此才有 php_oci8_11g 与之连接,主要是为了使用 oracle 的新功能

需要安装 oracle11g 的客户端

因为自 oracle 9 起,他的客户端就单独发行了,php 已经没有必要将客户端捆绑进来
所以只提供了与客户端通讯的接口 php_oci8 和 php_oci8_11g
由于 oracle11g 的客户端做了很大的改动,因此才有 php_oci8_11g 与之连接,主要是为了使用 oracle 的新功能

 谢谢这位大神,本人小白,基本是按着这篇文章安装的64位oracle
http://blog.sina.com.cn/s/blog_868ba3570101djuh.html
搞了32位的客户端,但是他提到的 tnsnames.ora 这个文件我在%Oracle_Home%\NETWORK\ADMIN下面没有找到。请问然后我该怎么办呢?

你看看这个  http://download.csdn.net/download/eisjmo/4362471

很长时间没有弄了,细节都记不清了
不过映像中只要 setup 就可以了,没有什么需要配置的

很长时间没有弄了,细节都记不清了
不过映像中只要 setup 就可以了,没有什么需要配置的


现在有了新情况,我简单测试下连接数据库,报 Warning: oci_connect(): ORA-12154: TNS:could not resolve the connect identifier specified in C:\xampp\htdocs\phpwork1\test.php on line 17
ORA-12154: TNS:could not resolve the connect identifier specified
环境变量也配了,不好使

贴出你的代码

贴出你的代码


<?php $conn = oci_connect('system', '123456', 'aaa');if (!$conn) {	$e = oci_error();	print htmlentities($e['message']);	exit;}$query = 'SELECT * FROM DEPARTMENTS';//编译SQL语句:函数:oci_parse()$stid = oci_parse($conn, $query);if (!$stid) {	$e = oci_error($conn);	print htmlentities($e['message']);	exit;}//执行SQL语句:函数:oci_execute();$r = oci_execute($stid, OCI_DEFAULT);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手册里的一段

你改用 PDO 方式

你改用 PDO 方式


谢谢大神,我用pdo返回差不多的信息。。。
 SQLSTATE[42S02]: pdo_oci_handle_factory: ORA-12154: TNS:could not resolve the connect identifier specified (ext\pdo_oci\oci_driver.c:633) 
代码 
$tns="aaa";try{	$conn=new PDO("oci:dbname=".$tns, 'system', '123456');}catch(PDOException $e){	echo ($e->getMessage());}
登录后复制

此外为何我PDO_OCI下毛也没有呢 php.ini里已经启动了extension=php_pdo_oci.dll

$db = new PDO('oci:dbname=//机器名或ip:1521/实例名', '用户名', '口令');
$rs = $db->query('sql指令' );

$db = new PDO('oci:dbname=//机器名或ip:1521/实例名', '用户名', '口令');
$rs = $db->query('sql指令' );



成功了!谢谢大神耐心指教!!给你32个赞!!
相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号