php连接远程数据库代码,PHP v5.2.6 链接远程Oracle数据库(示例代码)

根据需求,要通过服务器A,使用PHP访问并操作服务器B的Oracle数据库,对其进行insert操作。

服务器A:

Windows server 2003;PHP v5.2.6(32位);IIS服务;

服务器B:

Oracle数据库;

主要工作,实现服务器A对B进行连接访问。

step1:

在服务器上安装Oracle客户端;

可在网盘链接:https://pan.baidu.com/s/1NPWV2AlxQRgVyVslU0r3lg(提取码:9jdn)下载,其中包括11版本和10版本的basic和sqlplus组合(均为32位),两个都要下载,我这里用的是10。

首先,将下载的basic文件解压在服务器A的D:oracleinstantclient10_1 下,将sqlplus解压,并将全部文件复制到和basic同样的目录下D:oracle;

将D:oracleinstantclient10_1 下的oci.dll文件,copy到C:WINDOWSsystem32 下;

新建文件TNSNAMES.ORA,编辑内容为:

------------------------------------------

****(任意name) =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = *****(服务器B的IP地址))(PORT = 1521))

)

(CONNECT_DATA =

(SID = ****(任意name))

(SERVER = DEDICATED)

)

)

------------------------------------------

完成后将其放在D:oracleinstantclient10_1下,覆盖掉;

step2:

配置环境变量;

在环境变量Path中,添加D:oracleinstantclient10_1 (该路径为oracle客户端的路径);

新建环境变量名为TNS_ADMIN,路径为D:oracleinstantclient10_1  (该路径为TNSNAMES.ORA文件的路径);

新建环境变量名为NLS_LANG,内容为  SIMPLIFIED CHINESE_CHINA.ZHS16GBK  (该变量为语言控制);

同时,确保path中,有C:WINDOWSsystem32路径的指向并且正确;

step3:

通过cmd窗口,执行连接服务器B的操作,测试连接:

20181206150908652918.png

20181206150908842378.png

当看到上图时为连接成功!

step4:

将服务器A的PHP环境下的php5ts.dll 和ext文件下的php_oci8.dll文件同时copy到C:WINDOWSsystem32下;

20181206150909072856.png

20181206150909331655.png

(前提确保PHP环境已经配置安装成功,这里不介绍PHP的安装配置);

修改php.ini配置文件,将extension=php_oci8.dll的注释符号去掉

20181206150909620729.png

之后,编写一个简单的php文件,test.php ,使用phpinfo();

20181206150909727178.png

访问该php页面可以看到oci8模块已启用!

20181206150909874645.png

step5:

修改test.php文件,将phpinfo()删掉,使用php访问连接Oracle数据库,并进行查询:

20181206150909988907.png

再次访问test.php 文件:成功会看到

20181206150910082660.png

到这里,就实现了服务器A通过PHP链接操作服务B的Oracle数据库了!!!

-----------------------------------------------------------------------

注意:

1.如果你的php版本是大于php v5.1的,不能安装Oracle9的客户端,因为5.1版本之后只兼容Oracle10以后的客户端!!!(我在搭建环境时,主要被Oracle9版本困扰住,起初不知道PHP v5.1之后的版本不兼容Oracle9,只支持Oracle10之后的版本)

2.确保环境变量配置正确和完整!!!有C:windowssystem32 的配置!!!(因为可能会由于你之前安装和卸载程序时的错误操作使其丢失或指向不对)

3.将oracle客户端中的oci.dll ,php下的php5ts.dll ,php中ext下的php_oci8.dll ,复制到C:windowssystem32 下!!!

谢谢(可能有疏忽的地方或不准确的,请评论提出)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
连接 Oracle 数据库的方法主要有以下几种: 1. 使用 JDBC(Java Database Connectivity)连接 Oracle 数据库 1.1 先下载并安装 Oracle 官方提供的 JDBC 驱动程序 1.2 在代码中加载驱动程序 ``` Class.forName("oracle.jdbc.driver.OracleDriver"); ``` 1.3 建立连接 ``` String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "username"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); ``` 2. 使用 Oracle 提供的数据源(DataSource)连接 Oracle 数据库 2.1 先下载并安装 Oracle 官方提供的 JDBC 驱动程序 2.2 在代码中创建数据源 ``` OracleDataSource ods = new OracleDataSource(); ods.setURL("jdbc:oracle:thin:@localhost:1521:ORCL"); ods.setUser("username"); ods.setPassword("password"); ``` 2.3 建立连接 ``` Connection conn = ods.getConnection(); ``` 3. 使用 Spring 框架连接 Oracle 数据库 3.1 引入 Spring JDBC 相关依赖 ``` <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.6.RELEASE</version> </dependency> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>19.3.0.0</version> </dependency> ``` 3.2 在 Spring 配置文件中配置数据源 ``` <bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource"> <property name="URL" value="jdbc:oracle:thin:@localhost:1521:ORCL"/> <property name="user" value="username"/> <property name="password" value="password"/> </bean> ``` 3.3 在代码中使用 Spring 提供的 JdbcTemplate 进行数据库操作 ``` JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); jdbcTemplate.execute("SELECT * FROM table_name"); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值