再现理想 发表于 2015-1-16 22:22:01

MYSQL网站制作之Oracle 8 的函数先容

曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。这些函数同意你存取Oracle8和Oracle7数据库.他利用Oracle8的点用接口(OCI8).利用这个扩大模块,你必要Oracle8客户端库文件.

这个扩大模块比尺度Oracle模块更流利。他撑持用于Oracle站位符的全局和本机PHP变量。有完全的LOB,文件和ROWID撑持,同意利用用户供应的界说的变量.

在利用这个扩大之前,确认你已准确的安装了oracle用户必要的Oracle情况变量,和用于daemon用户的一样.必要设置的变量大抵为以下几个:

ORACLE_HOME

ORACLE_SID

LD_PRELOAD

LD_LIBRARY_PATH

NLS_LANG

ORA_NLS33


在设置了你的web服务器用户的情况变量以后,确认在你的oracle组内里到场了web服务器用户(nobody,www).

例1.

<?php
//作者sergo@bacup.ru

//利用参数设置:OCI_DEFAULT实行命令来提早实行
OCIExecute($stmt,OCI_DEFAULT);

//失掉数据:

$result=OCIResult($stmt,$n);
if(is_object($result))$result=$result->load();

//举行拔出大概更新操纵:

$sql="insertintotable(field1,field2)values(field1=’value’,
field2=empty_clob())returningfield2into:field2";
OCIParse($conn,$sql);
$clob=OCINewDescriptor($conn,OCI_D_LOB);
OCIBindByName($stmt,":field2",&$clob,-1,OCI_B_CLOB);
OCIExecute($stmt,OCI_DEFAULT);
$clob->save("sometext");

?>


你能够用一样复杂的办法存储程序命令行.

例2.用于存储历程(程序)

<?php
//作者webmaster@remoterealty.com
$sth=OCIParse($dbh,"beginsp_newaddress(:address_id,’$firstname’,
’$lastname’,’$company’,’$address1’,’$address2’,’$city’,’$state’,
’$postalcode’,’$country’,:error_code);end;");

//这个挪用用于存储历程sp_newaddress,利用:address_id入手下手一个
//in/out变量和:error_code用于输入变量.
//如许完成绑缚:

OCIBindByName($sth,":address_id",$addr_id,10);
OCIBindByName($sth,":error_code",$errorcode,10);
OCIExecute($sth);

?>


函数列表
OCIDefineByName―在一个SELECT过程当中界说步骤里利用PHP变量
OCIBindByName―为一个Oracle站位符绑缚一个PHP变量
OCILogon―创建一个与Oracle的毗连
OCIPLogon―毗连一个Oracle数据库同时利用存在的毗连上岸,前往一个新的session.
OCINLogon―毗连一个Oracle数据库同时利用新的毗连上岸,前往一个新的session.
OCILogOff―断开与Oracle的毗连
OCIExecute―实行一个语句
OCICommit―提交outstandingtransactions
OCIRollback―回退outstandingtransactions
OCINewDescriptor―初始化一个新的空的形貌符LOB/FILE(LOB是默许值)
OCIRowCount―取得前往的行数
OCINumCols―前往一个语句了局的列数
OCIResult―前往前往行的列数
OCIFetch―在了局缓冲区里获得下一行
OCIFetchInto―在了局数组里获得下一行
OCIFetchStatement―以数据情势前往了局数据的一切行.
OCIColumnIsNULL―测试了局的某列是不是为空NULL
OCIColumnSize―前往了局列的巨细
OCIServerVersion―前往包括服务器信息的字符串.
OCIStatementType―前往一个OCI语句的范例.
OCINewCursor―前往一个新的光标(语句句柄)-用于绑缚ref-cursors!
OCIFreeStatement―开释与某语句相干的一切资本.
OCIFreeCursor―开释与某光标相干的一切资本.
OCIFreeDesc―删除一个年夜型的物体形貌符.
OCIColumnName―前往列的名字.
OCIColumnType―前往列的范例.
OCIParse―剖析一个查询前往一个语句
OCIError―前往最初一个stmt|conn|global毛病.假如没有毛病产生则前往false.
OCIInternalDebug―翻开或封闭外部调试输入.缺省时封闭也许最好的策略是以不变应万变:给客户他们所需要的,不多也不少。如果MySQL学习教程适合他们,他们就不应该买别的工具。事实上,云计算产业一直推崇自助服务,但提供这些服务的公司已经开始认识到解决方案提供商推销他们商品的价值。

愤怒的大鸟 发表于 2015-1-19 09:33:50

多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油

小魔女 发表于 2015-2-1 16:58:37

分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。

莫相离 发表于 2015-2-7 10:24:39

分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。

柔情似水 发表于 2015-2-21 18:43:35

你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。

谁可相欹 发表于 2015-3-6 21:04:22

两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书

分手快乐 发表于 2015-3-13 09:10:16

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。

爱飞 发表于 2015-3-20 18:56:08

入门没那么困难,精通没那么容易
页: [1]
查看完整版本: MYSQL网站制作之Oracle 8 的函数先容