本地windows下PHP连接远程oracle遇到的诸多问题
任务目的:本地windows下PHP连接远程服务器下的oracle。
必须必须 确定服务器的数据库版本,如果本地的驱动和对方服务器版本不一致,会导致许多报错。
已知的oracle版本 分为 32位的10G,11G,13G 64位的10G,11G,13G
我本机是64位的系统,开始就进去误区,把所有版本的64位下载了一遍,结果 不管你怎么调,本地的驱动就是找不到oci方法。
然后目标定位到32位,32位如果下载错版本,会报这个错。
oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries
找对版本后,下载下来,运行成功。
其中我的本地由于是新开的,所以很多配置文件都没有,导致执行的过程中缺少各种文件,按照报错缺少的文件逐个去官网(权威点的网站)下载,放到位置可。
具体操作步骤如下:
1.打开php.ini,把extension=php_oci8.dll打开。
2.其中下载oracle包中的oci.dll房到 C盘的sys32?64看你自己的系统是多少位的。
3.把oracle包中的所有文件拷到php扩展文件夹一份,apache的bin目录一份。
如果还是不行 那就把php的扩展php_oci8.dll也放到sys32里一份,这点不太确定,查了好多资料都这么说,我第一部就放进去了。
其中改了许多环境变量什么的,最后问题解决之后才发觉都没用,又都删了。
最后附上php连接oracle的代码(其中oci_connect中 的SID就是常说的数据库,但是oracle中好像普遍都叫服务名,你就当成数据库名理解就行)
$conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.0.180)(PORT = 1521))(CONNECT_DATA =(SID=toplw)))");
$sql = "select * from table";
$ora_test = oci_parse($conn,$sql); //编译sql语句
oci_execute($ora_test,OCI_DEFAULT); //执行
echo "<pre>";
while($r=oci_fetch_row($ora_test)) //取回结果
{
print_r($r);
}
本地windows下PHP连接远程oracle遇到的诸多问题的更多相关文章
- 解决windows下Eclipse连接远程Hadoop报错
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.N ...
- 本地连接远程Oracle数据库
由于项目开发测试,需要在本地连接远程的Oracle数据库 之前搭过环境,但是重装了系统,现在又重新装一遍 软件安装 连接远程Oracle需要两个软件: 一个Oracle客户端,instantclien ...
- windows下使用xShell远程连接virtualbox里面的linux
第一阶段:基本安装 安装virtual box 在virtualbox里面安装xubuntu:是ubuntu+xfce桌面环境的一个linux的发行版本 在windows下安装Xmanager Ent ...
- windows下plsql连接linux下的oracle数据库
windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...
- 如何配置pl/sql 连接远程oracle服务器
在下边的两种情况下,如何配置pl/sql 连接远程oracle服务器 1)在客户端不装oracle 客户端也不装服务器,能否配置pl/sql 连接远程oracle服务器,如何配置,请给出详细的文档说明 ...
- 在Windows下配置Linux远程开发环境
在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...
- PL/SQL Developer连接远程Oracle数据库
转自:http://zhengdu.net/archives/152 一.首先看远程端oracle服务是否启动 如果没有启动,请启动oracle服务 ps:创建或者删除oracle监听 二.远程端or ...
- sql plus 和 pl/sql无法连接远程oracle数据库
前言:安装完oracle客户端后,可能会出现sql plus 和 pl/sql无法连接远程oracle数据库的情况,可能是以下原因: 针对sql plus连接不上: 1 可能原因:之前安装过oracl ...
- 本地windows下搭建git的本地服务器
本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...
随机推荐
- Microsoft OLE DB Provider for SQL Server 错误 '80040e21'
我的是因为数据库满了,正在向服务商申请增加数据库容量 原文地址:Microsoft OLE DB Provider for SQL Server 错误 '800作者:欧阳IT记事本 昨天打开网站还正常 ...
- 在centos服务器上配置gitlab钩子引发的一系列问题
为了给公司的服务器上搭建gitlab环境并且配置钩子(实现在本地git push之后服务器自动git pull),整了好久,最后终于把问题解决了,下面是记录安装gitlab之后引发的一系列问题: 首先 ...
- 可控制转速CSS3旋转风车特效
以前制作网页动画一般使用javascript,现在已经有越来越多动动画使用纯CSS实现,并且动画的控制也可以使用CSS3实现,因为CSS 3来了,CSS 3的动画功能确实强大.以下是一个纯CSS3制作 ...
- python实现tailf
# -*- coding:utf-8 -*- ''' Created on 2016年10月28日 @author: zhangsongbin ''' import time class file_r ...
- servlet中filter(过滤器)的学习使用
servlet过滤器是小型的web组件,它能够处理传入的请求和传出的响应.Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理r ...
- [转]用Objective-C实现简单的数学字符串公式的计算
好友第一次用写技术分享,这么多年都没见他正经的写点东西.那天突然抬头问我,Objective-C有没字符串计算的.我说,没有.后来他默默实现了,特为他转发,表示支持. ================ ...
- POJ 1987 Distance Statistics
http://poj.org/problem?id=1987 题意:给一棵树,求树上有多少对节点满足距离<=K 思路:点分治,我们考虑把每个距离都存起来,然后排序,一遍扫描计算一下,注意还要减掉 ...
- LeetCode_Decode Ways
A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...
- M0、M1、M2、M3都是用来反映货币供应量的重要指标
m2-反映货币供应量的重要指标编辑词条m2广义货币是一个经济学概念,和狭义货币相对应,货币供给的一种形式或口径,以M2来表示,其计算方法是交易货币(M1,即社会流通货币总量加上活期存款)以及定期存款与 ...
- Java---设计模块(装饰模式)
★ 场景和问题 在不对原有对象类进行修改的基础上,如何给一个或多个已有的类对象提供增强额外的功能? ★ 引例 写一个MyBufferedReader类,使它能够对字符流(如FileReader.Inp ...