oraclephp7的简单介绍

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

今天给各位分享oraclephp7的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

php+Oracle中文乱码。PHP是utf8环境,Oracle字符集是US7ASCII。用PHP已配置连接

首先了解什么是外部表,与其它表的区别,建立一个简单的外部表(主要看操作过程),最后我们用外部表查看ORACLE报警日志

1.了解oracle外部表

外部表定义:结构被存放在数据字典,而表数据被放在OS文件中的表

作用:在数据库中查询OS文件的数据,还可以将OS文件数据装载到数据库中

与其它表的区别:在外部表上不能执行DML操作,也不能在外部表上建索引,只能执行select操用

2.建一个简单的外部表1.建一个OS上的文件

因为外部表主要是查看OS上的文件,首先在OS上建一个文件

mkdir -p /oracle/ext

vi /oracle/ext/ext.dat

10,20,30

40,50,60

70,80,90

2.授予用户权限,并建立目录对象

在此我们先建一个新用户

create user test identified by “123” default tablespace test quota unlimited on test;

用户授权

SQL grant create any directory to test;

建立目录对象

SQL conn test / 123

Connected.

SQL create directory ext as '/oracle/ext';

Directory created.

3.建立外部表

SQL create table exttable(

id number,name varchar2(10),i number

)organization external

(type oracle_loader

default directory ext

access parameters

(records delimited by newline

fields terminated by ','

)location('ext.dat')

);

4.测试

SQL select * from exttable;

ID NAMEI

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

10 20 30

40 50 60

70 80 90

测试成功,可见在数据库中可以查询OS文件的数据

2. 使用外部表查看oracle报警日志

由于在上面实验中已建立了一个用户,并赋相应的权限,而且也有了OS文件(即报警文件alert_SID.log),所以在此直接建立目录对象并建立外部表就可以了。

1.建立目录对象

SQL conn test / 123

Connected.

SQL create directory bdump as '/oracle/u01/app/oracle/admin/db2/bdump';

Directory created.

2.建立外部表

SQL create table alert_log(

text varchar2(400)

)organization external

(type oracle_loader

default directory bdump

access parameters

(records delimited by newline

)location('alert_db2.log')

);

3.测试

首先查看能否查到alert_db2.log的内容

SQL select * from alert_log where rownum 10;

TEXT

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

Thu Jun 11 00:51:46 2009

Starting ORACLE instance (normal)

Cannot determine all dependent dynamic libraries for /proc/self/exe

Unable to find dynamic library libocr10.so in search paths

RPATH = /ade/aime1_build2101/oracle/has/lib/:/ade/aime1_build2101/oracle/lib/:/a

de/aime1_build2101/oracle/has/lib/:

LD_LIBRARY_PATH is not set!

The default library directories are /lib and /usr/lib

Unable to find dynamic library libocrb10.so in search paths

Unable to find dynamic library libocrutl10.so in search paths

9 rows selected.

测试成功

然后我们测试查报警信息’ORA-%’

SQL select * from alert_log where text like 'ORA-%';

TEXT

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

ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2

.dbf'

ORA-27037: unable to obtain file status

ORA-205 signalled during: ALTER DATABASE MOUNT…

ORA-00301: error in adding log file '/home/oracle/oracle/oradata/testdb/redo01.l

og' - file cannot be created

ORA-27040: file create error

ORA-1501 signalled during: CREATE DATABASE db2

ORA-00200: control file could not be created

TEXT

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

ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2

.dbf'

ORA-27038: created file already exists

ORA-1501 signalled during: CREATE DATABASE db2

ORA-00200: control file could not be created

ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2

.dbf'

ORA-27038: created file already exists

ORA-1501 signalled during: CREATE DATABASE db2

测试成功,

可见我们可以使用外部表来方便的查看ORACLE的报警信息

php iis7.0 oracle配置服务器

你可以选择PHP5.2或者PHP5.3, PHP5.3.8是个极限, 什么意思呢,他支持国内很多版本的源码, 再高的PHP, 我们的源码就有点受不了了。

IIS7,计算机那里, 点 服务器映射, 把服务器映射做好。FASTCGI的话, 你新建一个映射叫PHPfastCGI,指向你PHP文件里的CGI文件。

PHPINI的话, 可以用PHP manager来配置, 这个东西很强, PHP有没有让IIS接受, 这个东西可以然给你一目了然, 总比瞎搞好。

在window环境和Linux环境下怎么用PHP连接oracle数据库,具体的步骤怎么做?怎么加载模块?加载哪些模块?

windows和Linux都能执行

Oracle Call Interface(OCI)使用户可以访问 Oracle 10,Oracle9,Oracle8 和 Oracle7 数据库。支持将 PHP 变量与 Oracle 占位符(placeholder)绑定,具有完整的 LOB,FILE 和 ROWID 支持,以及允许使用用户提供的定义变量。

例子 1. 基本查询

?php

$conn = oci_connect('hr', 'hr', 'orcl');

if (!$conn) {

$e = oci_error();

print htmlentities($e['message']);

exit;

}

$query = 'SELECT * FROM DEPARTMENTS';

$stid = oci_parse($conn, $query);

if (!$stid) {

$e = oci_error($conn);

print htmlentities($e['message']);

exit;

}

$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);

?

例子 2. 用绑定变量插入

?php

// Before running, create the table:

// CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

$conn = oci_connect('scott', 'tiger', 'orcl');

$query = 'INSERT INTO MYTABLE VALUES(:myid, :mydata)';

$stid = oci_parse($conn, $query);

$id = 60;

$data = 'Some data';

oci_bind_by_name($stid, ':myid', $id);

oci_bind_by_name($stid, ':mydata', $data);

$r = oci_execute($stid);

if($r)

print "One row inserted";

oci_close($conn);

?

例子 3. 将数据插入到 CLOB 列中

?php

// Before running, create the table:

// CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conn = oci_connect('scott', 'tiger', 'orcl');

$mykey = 12343; // arbitrary key for this example;

$sql = "INSERT INTO mytable (mykey, myclob)

VALUES (:mykey, EMPTY_CLOB())

RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);

$clob = oci_new_descriptor($conn, OCI_D_LOB);

oci_bind_by_name($stid, ":mykey", $mykey, 5);

oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);

oci_execute($stid, OCI_DEFAULT);

$clob-save("A very long string");

oci_commit($conn);

// Fetching CLOB data

$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);

oci_bind_by_name($stid, ":mykey", $mykey, 5);

oci_execute($stid, OCI_DEFAULT);

print 'table border="1"';

while ($row = oci_fetch_array($stid, OCI_ASSOC)) {

$result = $row['MYCLOB']-load();

print 'trtd'.$result.'/td/tr';

}

print '/table';

?

可以很容易地访问存储过程,就和从命令行访问一样。 例子 4. 使用存储过程

?php

// by webmaster at remoterealty dot com

$sth = oci_parse($dbh, "begin sp_newaddress( :address_id, '$firstname',

'$lastname', '$company', '$address1', '$address2', '$city', '$state',

'$postalcode', '$country', :error_code );end;");

// This calls stored procedure sp_newaddress, with :address_id being an

// in/out variable and :error_code being an out variable.

// Then you do the binding:

oci_bind_by_name($sth, ":address_id", $addr_id, 10);

oci_bind_by_name($sth, ":error_code", $errorcode, 10);

oci_execute($sth);

?

连接处理

OCI8 扩展提供了 3 个不同函数来连接 Oracle。取决于用户来使用对自己的应用程序最合适的函数。本节的信息有助于用户作出合适的选择。

连接到 Oracle 服务器从所需的时间上来讲是个相当花费的操作。oci_pconnect() 函数使用了一个连接的持久缓冲区,可以被不同的脚本请求重复使用。这意味着通常在每个 PHP 进程(或 Apache 子进程)中只需要连接一次。

如果应用程序连接 Oracle 时对每个 web 用户都使用了不同的认证信息,则由 oci_pconnect() 使用的持久缓冲区就用处不大了,因为随着并发用户的增加,到某个程度后会由于要保持太多的空闲连接而对 Oracle 服务器的整体性能起到逆反的影响。如果应用程序是这样的架构,建议要么用 oci8.max_persistent 和 oci8.persistent_timeout 配置选项(此二者可以使用户控制持久连接缓冲区的大小和生命周期)来协调应用程序,要么用 oci_connect() 来连接。

oci_connect() 和 oci_pconnect() 都使用了一个连接缓冲区。如果在某个脚本中用同样的参数多次调用 oci_connect(),则第二个和之后的调用会返回已有的连接句柄。oci_connect() 使用的连接缓冲区会在脚本执行完毕后或者明确地关闭了连接句柄时被清空。oci_pconnect() 有相似的行为,不过其缓冲区独立地维持着并在不同请求之间都存活着。

要记住此缓冲特性,因为它使两个句柄没有在事务级隔离开来(事实上是同一个连接句柄,因此没有任何方式的隔离)。如果应用程序需要两个独立的,事务级隔离的连接,应该使用 oci_new_connect()。

oci_new_connect() 总是创建一个到 Oracle 服务器的新连接,不管其它连接是否已经存在。高流量的 web 应用应该避免使用 oci_new_connect(),尤其是在程序最忙的部分。

有关于它的其他函数:

目录

OCI-Collection-append -- 向 collection 增加单元

OCI-Collection-assign -- 从现有的另一个 collection 向 collection 赋值

OCI-Collection-assignElem -- 给 collection 中的单元赋值

OCI-Collection-free -- 释放关联于 collection 的对象的资源

OCI-Collection-getElem -- 返回单元的值

OCI-Collection-max -- 返回 collection 中单元的最大数目

OCI-Collection-size -- 返回 collection 中的单元数目

OCI-Collection-trim -- 从 collection 尾端开始删除单元

OCI-Lob-append -- Appends data from the large object to another large object

OCI-Lob-close -- 关闭 LOB 描述符

OCI-Lob-eof -- Tests for end-of-file on a large object's descriptor

OCI-Lob-erase -- Erases a specified portion of the internal LOB data

OCI-Lob-export -- 将 LOB 的内容导出到文件中

OCI-Lob-flush -- Flushes/writes buffer of the LOB to the server

OCI-Lob-free -- 释放与 LOB 描述符所关联的资源

OCI-Lob-getBuffering -- Returns current state of buffering for the large object

OCI-Lob-import -- 将数据从文件导入 LOB

OCI-Lob-load -- 返回大对象的内容

OCI-Lob-read -- Reads part of the large object

OCI-Lob-rewind -- Moves the internal pointer to the beginning of the large object

OCI-Lob-save -- 将数据保存到大对象中

OCI-Lob-seek -- Sets the internal pointer of the large object

OCI-Lob-setBuffering -- Changes current state of buffering for the large object

OCI-Lob-size -- Returns size of large object

OCI-Lob-tell -- Returns current position of internal pointer of large object

OCI-Lob-truncate -- Truncates large object

OCI-Lob-write -- Writes data to the large object

OCI-Lob-writeTemporary -- 写入一个临时的大对象

oci_bind_by_name -- 绑定一个 PHP 变量到一个 Oracle 位置标志符

oci_cancel -- 取消从游标读取数据

oci_close -- 关闭 Oracle 连接

oci_commit -- 提交未执行的事务处理

oci_connect -- 建立一个到 Oracle 服务器的连接

oci_define_by_name -- 在 SELECT 中使用 PHP 变量作为定义的步骤

oci_error -- 返回上一个错误

oci_execute -- 执行一条语句

oci_fetch_all -- 获取结果数据的所有行到一个数组

oci_fetch_array -- Returns the next row from the result data as an associative or numeric array, or both

oci_fetch_assoc -- Returns the next row from the result data as an associative array

oci_fetch_object -- Returns the next row from the result data as an object

oci_fetch_row -- Returns the next row from the result data as a numeric array

oci_fetch -- Fetches the next row into result-buffer

oci_field_is_null -- 检查字段是否为 NULL

oci_field_name -- 返回字段名

oci_field_precision -- 返回字段精度

oci_field_scale -- 返回字段范围

oci_field_size -- 返回字段大小

oci_field_type_raw -- 返回字段的原始 Oracle 数据类型

oci_field_type -- 返回字段的数据类型

oci_free_statement -- 释放关联于语句或游标的所有资源

oci_internal_debug -- 打开或关闭内部调试输出

oci_lob_copy -- Copies large object

oci_lob_is_equal -- Compares two LOB/FILE locators for equality

oci_new_collection -- 分配新的 collection 对象

oci_new_connect -- 建定一个到 Oracle 服务器的新连接

oci_new_cursor -- 分配并返回一个新的游标(语句句柄)

oci_new_descriptor -- 初始化一个新的空 LOB 或 FILE 描述符

oci_num_fields -- 返回结果列的数目

oci_num_rows -- 返回语句执行后受影响的行数

oci_parse -- 配置 Oracle 语句预备执行

oci_password_change -- 修改 Oracle 用户的密码

oci_pconnect -- 使用一个持久连接连到 Oracle 数据库

oci_result -- 返回所取得行中字段的值

oci_rollback -- 回滚未提交的事务

oci_server_version -- 返回服务器版本信息

oci_set_prefetch -- 设置预提取行数

oci_statement_type -- 返回 OCI 语句的类型

ocibindbyname -- oci_bind_by_name() 的别名

ocicancel -- oci_cancel() 的别名

ocicloselob -- OCI-Lob-close 的别名

ocicollappend -- OCI-Collection-append 的别名

ocicollassign -- OCI-Collection-assign 的别名

ocicollassignelem -- OCI-Collection-assignElem 的别名

ocicollgetelem -- OCI-Collection-getElem 的别名

ocicollmax -- OCI-Collection-max 的别名

ocicollsize -- OCI-Collection-size 的别名

ocicolltrim -- OCI-Collection-trim 的别名

ocicolumnisnull -- oci_field_is_null() 的别名

ocicolumnname -- oci_field_name() 的别名

ocicolumnprecision -- oci_field_precision() 的别名

ocicolumnscale -- oci_field_scale() 的别名

ocicolumnsize -- oci_field_size() 的别名

ocicolumntype -- oci_field_type() 的别名

ocicolumntyperaw -- oci_field_type_raw() 的别名

ocicommit -- oci_commit() 的别名

ocidefinebyname -- oci_define_by_name() 的别名

ocierror -- oci_error() 的别名

ociexecute -- oci_execute() 的别名

ocifetch -- oci_fetch() 的别名

ocifetchinto -- 获取下一行到一个数组

ocifetchistatement -- oci_fetch_all() 的别名

ocifreecollection -- OCI-Collection-free 的别名

ocifreecursor -- oci_free_statement() 的别名

ocifreedesc -- OCI-Lob-free 的别名

ocifreestatement -- oci_free_statement() 的别名

ociinternaldebug -- oci_internal_debug() 的别名

ociloadlob -- OCI-Lob-load 的别名

ocilogoff -- oci_close() 的别名

ocilogon -- oci_connect() 的别名

ocinewcollection -- oci_new_collection() 的别名

ocinewcursor -- oci_new_cursor() 的别名

ocinewscriptor -- oci_new_descriptor() 的别名

ocinlogon -- oci_new_connect() 的别名

ocinumcols -- oci_num_fields() 的别名

ociparse -- oci_parse() 的别名

ociplogon -- oci_pconnect() 的别名

ociresult -- oci_result() 的别名

ocirollback -- oci_rollback() 别名

ocirowcount -- oci_num_rows() 的别名

ocisavelob -- OCI-Lob-save 的别名

ocisavelobfile -- OCI-Lob-import 的别名

ociserverversion -- oci_server_version() 的别名

ocisetprefetch -- oci_set_prefetch() 的别名

ocistatementtype -- oci_statement_type() 的别名

ociwritelobtofile -- OCI-Lob-export 的别名

ociwritetemporarylob -- OCI-Lob-writeTemporary 的别名

php连接oracle数据库报错:Call to undefined function oci_connect()

选自fablrOO7:

然后重启apache看下行不;如果没。

如果支持了。

我是这么解决的.dll复制到apache的bin目录下.dll和orannzsbb10,也才接触Oracle两个星期.dll先查看你的phpinfo()这个函数的输出的内容、ocaocci10。(自己手写的。

配置环境变量,不知道你的行不行,把Oracle所在目录的路径写入电脑环境变量中的PATh中去,就再配置一下.dll、craocr10,看看支持了oci8没,就把Oracle客户端下的oci

php7配置oracle11g,怎么配置连接上

php配置oracle非常的简单需吧php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分号,重启apache就可以了

oracle数据库建立链接,代码如下:

1:

$conn =

oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL

=TCP)(HOST=192.168.1.100)(PORT = 1521))(CONNECT_DATA =(SID=test)))");

2:

$conn = oci_connect('username','password','192.168.1.100/test');

3.Oracle 连接方法

set adocon=Server.Createobject("adodb.connection")

adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"

完整的例子如下:

?php

$conn = oci_connect('hr', 'hr', 'orcl'); // 建立连接

if (!$conn) {

$e = oci_error();

print htmlentities($e['message']);

exit;

}

$query = 'SELECT * FROM DEPARTMENTS'; // 查询语句

$stid = oci_parse($conn, $query); // 配置SQL语句,准备执行

if (!$stid) {

$e = oci_error($conn);

print htmlentities($e['message']);

exit;

}

$r = oci_execute($stid, OCI_DEFAULT); // 执行SQL。OCI_DEFAULT表示不要自动commit

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是什么?

PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开源多用途脚本语言,也是最常用的网站编程语言。

PHP作为最热门的网站程序开发语言,使用 PHP 的一大好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性。当看到 PHP 长长的特性列表时,请不要害怕。PHP可以很快的入门,只需几个小时就可以自己写一些简单的脚本

问题1:PHP文件格式?

答:PHP文件后缀名是.php

问题2:php文件需要用什么工具打开

答:需要有PHP的运行环境才可以访问和打开如果只是编辑PHP文件,只需要用:

php文件打开方式一:用记事本打开

右击.php文件,选择记事本打开,就可以看到文件代码。

方式二:用Dreamweaver打开

Dreamweaver是网页编辑器,比较流行的网站开发工具,你可以直接把文件拖进去就可以可以打开php文件了

方式三:Notepad ++工具打开

也是代码编辑器,右键选择文件打开就行

方式四:SublimeText工具打开

和方式三一样

推荐阅读:01php用什么编辑器编程比较好

推荐阅读:02怎样深入学习php,成为php高手!?

主要特点

①开源性和免费性

由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。

 ②快捷性

PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。

③数据库连接的广泛性

PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。

  ④面向过程和面向对象并用

在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。

扩展资料

PHP优点

 ①流行且容易上手

PHP是目前最流行的编程语言之一。它驱动全球超过2亿多个网站,有全球超过80%的网站在采用PHP。PHP使用起来方便简单,也一点都不复杂,表达能力相当灵活。

②开发职位很多

在服务器端的网站编程中PHP会更容易帮助你找到工作。相当多的互联网相关企业都在使用PHP开发框架,市场对PHP的开发程序员的需求依然是比较大的,尤其中高级技术人才非常紧缺。

③发展潜力佳

PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。PHP7之后,一直在提供更高性能的应用。

④可植入性强

PHP语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。

⑤拓展性强

PHP语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高

参考资料来源:01百度百科-PHP

参考资料来源:02PHP是什么?

若有帮助,希望采纳~

关于oraclephp7和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-04-06 12:04:04
收藏
分享
海报
22
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了