CakePHP+ORACLEに挑戦。
Apache2.0+PHP5+CakePHP1.1+ORACLE10g
まずDB接続。
こちらのサイト
http://fiblog.blog16.fc2.com/blog-entry-39.html
を参考にして、オラクル接続用のDLLをとってきたり、database.phpを一通り設定すると[Cake is able to connect to the database]が表示されて接続を確認。
[/app/config/database.php] class DATABASE_CONFIG { var $default = array( 'driver' => 'oracle', 'connect' => 'oci_connect', 'persistent' => false, 'host' => 'localhost', 'port' => '', 'login' => 'scott', 'password' => 'tiger', 'database' => 'orcl', 'schema' => 'scott', 'prefix' => '', 'encoding' => '' ); }
次に、実際にfindメソッドやらsaveメソッドを使ってみる。
findはとりあえずOK。id=NULLでのsaveメソッドはOKだが、idを指定しても出力されるSQLは何故かINSERT文になっていてエラー。特にdelについては、SQL文さえ出力されていない。
う〜〜〜む、困った。
もともとCake1.2用に開発されたものだから動かないのか?と思ってCakeのバージョンをあげてみる。
Apache2.0+PHP5+CakePHP1.2.0.5875(pre-beta)+ORACLE10g
するとfind,save,delともに無事に動いた。
Cake1.2はまだ安定版ではないけど、Cake1.1では動かないなら1.2でいくしかないよなぁ。。。
で、後日CakePHP1.2.0.6311 betaがリリースされてたので早速トライ。
接続は問題なし。
次に、find,save,delメソッドを一通り使ってみるとdelでORACLEエラー。
発行されているSQLを見てみると構文が明らかに変(ーー;)
仕方ないのでdelメソッドだけ上書きして使ってます。(<それでいいのか?)