|
登录注册 |
☦ 上海交通大学论坛 > 数据库 > 浏览当前帖子 | 手机版 关闭左侧栏 |
请教:如何用php访问oracle |
【返回本版】 【发表帖子】 【回复帖子】 | 浏览量 4110 回帖数 3 |
laoshu421 等级 ☆ 楼主 发表于 2007/3/26 10:49:49 编 辑 |
||
使用Ora_logon("user","password")时提示Call to undefined function 我用的是linux,请问各位如何处理,先谢谢了。 |
qiaofog 等级 ☆ 2 楼 发表于 2016/3/2 3:02:45 编 辑 |
||
在安装 PHP 及 Apache Server 之前先将 Oracle 数据库安装好, 并确定 Oracle 能够顺利运作。之后在 PHP 配置 (configure) 时加入 --with-oracle=D IR 的选项,DIR 就是 $ORACLE_HOME 环境变量,例如: ./configure --with-oracle=/abc/def/oracle/product/7.0.3 --with-apache=../apach e_1.3.x --enable-track-vars 以下的范例是 stevel@nettek-llc.com (22-Jan-1999) 所提供的。这个范例是返回 Orac le 中 sid1 数据库 (Database) 的 EMP 资料表 (Table) 所有资料。帐号是 SCOTT、密码 为 TIGER。 <?php putenv("ORACLE_SID=sid1"); putenv("ORACLE_HOME=/u01/app/oracle/product/8.0.5"); $handle = ora_plogon("SCOTT@sid1", "TIGER") or die; $cursor = ora_open($handle); ora_commitoff($handle); $query = "SELECT * FROM EMP"; ora_parse($cursor, $query) or die; ora_exec($cursor); echo "<HTML><PRE>\n"; echo "$query\n\n"; $numcols = 0; while(ora_fetch($cursor)) { $numcols = ora_numcols($cursor); for ($column=0; $column < $numcols; $column++) { $data = trim(ora_getcolumn($cursor, $column)); if($data == "") $data = "NULL"; echo "$data\t"; } echo "\n"; } $numrows = ora_numrows($cursor); echo "\nROWS RETURNED$numrows\n"; echo "</PRE></HTML>\n"; ora_close($cursor); ?> kk@shonline.de (05-Aug-1998) 指出 ORACLE_HOME 为 Oracle 的安装路径,ORACLE_SID 为 Oracle 的数据库名称,若不知道这二个环境变量可以用 sqlplus 连上 Oracle 来查 证。 Ora_Bind链接 PHP 变量到 Oracle 参数。 Ora_Close关闭一个 Oracle 的 cursor。 Ora_ColumnName得到 Oracle 返回列 (Column) 的名称。 Ora_ColumnType得到 Oracle 返回列 (Column) 的类型。 Ora_Commit将 Oracle 的交易处理付诸实行。 Ora_CommitOff关闭自动执行 Oracle 交易改动的功能。 Ora_CommitOn打开自动执行 Oracle 交易改动的功能。 Ora_Error获得 Oracle 错误信息。 Ora_ErrorCode获得 Oracle 错误代码。 Ora_Exec执行 Oracle 的指令部分。 Ora_Fetch取得返回资料的一列 (row)。 Ora_GetColumn从返回列 (row) 的资料取得一栏 (column)。 Ora_Logoff结束与 Oracle 的链接。 Ora_Logon打开与 Oracle 的链接。 Ora_Open打开 Oracle 的 cursor。 Ora_Parse分析 SQL 语法。 Ora_Rollback撤消当前交易。 Ora_Do快速的 SQL 查询。 Ora_FetchInto取回 Oracle 资料放入数组。 Ora_ColumnSize取得字段类型的大小。 Ora_Numcols取得字段的数目。 Ora_PLogon打开与 Oracle 的长期链接。 PS:摘自PHP4完全中文手册 |
笼 等级 ☆ 3 楼 发表于 2016/3/2 3:02:45 编 辑 |
||
我估计你可能是没有正确配置好PHP,没有把Oracle编译进去,否则PHP至少应该能识别这 个函数,而不会说不认识这个函数。 使用Ora_logon("user","password")时提示Call to undefined function 我用的是linux,请问各位如何处理,先谢谢了。 -- 我用访问远端oralce数据库,设置$ORACLE_HOME没什么用吧,能告诉我如何访问远端ora |
风住尘香 等级 ☆ 4 楼 发表于 2016/3/2 3:02:45 编 辑 |
||
如果要让PHP可以访问远端的ORACLE,那么至少要保证如下几个方面: 1.在安装PHP,configure的时候要with-oracle 2.在你的Web Server上要安装Oracle Client并且配置好TNS 3.设置环境变量(SERVICE_NAME,PORT,USER,PASSWD) 4.当然还要保证的Oracle DB是available的 |
1 |
论坛帮助 会员认证删帖申请 联系我们 |