Oracle

PHPからOCI関数を使用する際のORA-24816エラーを回避する方法

ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column というエラーが出た場合、Bind順を変更することによって解決ができる。 INSERT文ならVALUESの最後に持ってくる、UPDATEなら……、どうすればいいんだろう。 スマートな解決…

64bit版のOracleクライアントをPHPから使えない件

64bit版のCentOSにOracleのinstantclientをRPMでインストールして、それをPHPから使おうとするとConfigureでエラーとなった。 rpm -ivh oracle-instantclient-basic-10.2.0.3-1.x86_64.rpm rpm -ivh oracle-instantclient-devel-10.2.0.3-1.x86_64.rpm [root…

Adodbからoci8ドライバを使って変数をbindしてみる

通常、MySQLなどからだと"WHERE test_id = ?"というSQLをPHP内に書いてbindをするけれど、oci8ドライバだと"oci_bind_by_name"という関数を使ってbindする都合上、そのやり方だとうまくいかない。 SQL内でbind部分は":testid"のように書き、bindする配列は連…

CentOS4.7にOracle Database 10g XEをインストールしてみる。

ファイルの入手 RPMから、入手元は下記。 Oracle Database 10g Express Edition Downloads for Linux x86 インストール開始 # rpm -ivh oracle-xe-10.2.0.1-1.0.i386.rpm エラー: Failed dependencies: libaio >= 0.3.96 is needed by oracle-xe-10.2.0.1-1.…

PHPからOracleへAdodbを介して接続してみる。

PHPからOracleに接続可能にする インストールされていたPHPに、Oracleを使うオプションがなかったので追加して再インストール。 # ./configure ...(略)... '--with-oci8' # make # make install Adodbを使って接続 Connect( false, "system", "********" ); …

Oracle XMLTYPEを個人的にまとめてみる

XMLTYPEをカラムに持つテーブルのCREATE CREATE TABLE TEST_TABLE ( ID VARCHAR2(10) NOT NULL PRIMARY KEY, XMLDATA SYS.XMLTYPE, INS DATE, UPD DATE ); "XMLDATA SYS.XMLTYPE"という部分がXMLTYPEとして作成され、"XMLDATA"というXMLTYPE型のカラムを持っ…