php怎么远程连接oracle

互联网 19-8-21

一、以下是基于 wampServer 的php 访问oracle数据库的操作步骤:

相关推荐:《php教程》

【其他的集成环境其实也是可以的,比如phpStudy,我们可以直接从php扩展的选项里打勾对应的】。

第三步:oracle 数据库文件配置

F:\oracle\product\10.2.0\client_1\NETWORK\ADMIN ,所连的192.168.1.198数据库,其中的配置详情如下(如果显示 127.0.0.1 默认为本机):

(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =  192.168.1.198)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )

第四步:检测oci8是否配置成功

3.最后建议重启服务,最好是重启电脑(我在测试时发现,重启服务没用,有一次是无意中 刷新出了oci扩展,所以如果操作方法没错,我建议进行重启。)

二、代码测试远程连接 orcal 数据库(建议可用自己的oracle客户端试着是否能连接对方的服务端,以保证操作的成功率)

<?php /**  * Created by PhpStorm.  * User: Administrator  * Date: 2015/12/7  * Time: 16:25  */ echo 'ff'; //进行连接数据库的参数配置 $dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.198)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) (INSTANCE_NAME = orcl)))"; //phpinfo(); $conn = oci_connect('scott','tiger',$dbstr);//如果去掉最后一个参数或者为“ ”,默认连接本机 $stmt = oci_parse($conn, "select * from mono"); oci_execute($stmt); $nrows = oci_fetch_all($stmt, $results); if ($nrows > 0) { echo "<table border=\"1\">\n";  echo "<tr>\n";  foreach ($results as $key => $val) { echo "<th>$key</th>\n";  } echo "</tr>\n";  for ($i = 0; $i < $nrows; $i++) { echo "<tr>\n";  foreach ($results as $data) { echo "<td>$data[$i]</td>\n";  } echo "</tr>\n";  } echo "</table>\n"; } else { echo "No data found<br />\n"; } echo " $nrows  Records Selected<br />\n"; oci_free_statement($stmt); oci_close($conn); ?>
1.$conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.1.198)(PORT = 1521)) (CONNECT_DATA =(SID=orcl)))");
2.$conn = oci_connect('username','password','192.168.1.198/orcl');

有的时候第一种方式不行,使用第二种,里面的几个参数分别是用户名、密码、oracle服务地址,其中orcl是服务名(但在我的机器上,后者无法访问)

另外提供一种简单的测试代码,相对而言,只是测试连接情况,更为方便:

<!DOCTYPE HTML> <html> <head>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">     <title>php语句结束符</title> </head> <body> <?php $dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.102)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) (INSTANCE_NAME = orcl)))"; $dbconn=oci_connect('scott','tiger',$dbstr); if($dbconn!=false) {     echo "连接成功".'<br/>';     if(OCILogOff($dbconn)==true)     {         echo "关闭连接成功!".'<br/>';//     } } else {     echo "连接失败".'<br/>'; } ?> </body> </html>

总结提示:

注意:

1.有时候你并不会注意到的一点失误会浪费很多时间,我还要提醒的是,请记得打开oracle的服务监听!!

2.请记得作为服务端的PC机,要关闭防火墙!!

3.apache的配置文件同样重要,修改httpd.conf文件,Deny——>Allow

<Directory />      Options FollowSymLinks      AllowOverride None      Order deny,allow  #    Deny from all      Allow from all  #允许所有访问      Satisfy all </Directory> <Directory /> ... ...  #   Require local  Options Indexes FollowSymLinks  #   onlineoffline tag - don't remove      Order Deny,Allow      Allow from all  #   Require local </Directory>

以上就是php怎么远程连接oracle的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: oracle
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:php怎么接入公众号

相关资讯