2008年7月25日

PHPとOracleの連携

イントラ用に同一サーバー内のPostgreSQLと連携するPHPスクリプトを活用していたりはするんだけど、PostgrSQLは自分で作ったDBにデータを流し込んで、それをPHPで抽出・表示するといった形でしか連携していない。

費用をかけてシステム化するほどでもないものだけど、その時々に求められる項目に対して自分達(実質的に1人だけ)でカスタマイズにも順応できる用途として、サーバー本体を除けばLinux・Apache・PHP・PostgreSQLと全てフリーで導入できるお手軽社内イントラシステムのできあがり。

課長は.aspが組めるので前々からMDBとの連携はあったのだけど、俺は基本を知らなくて、趣味だけでCGIやPHPを触っていただけだから、仕事でも片手間なシステム運用の為にaspを今更覚えることもできなくてPHPを使ったスクリプトに特化していった。

課長と俺がそれぞれ別々の言語でしかスクリプトを組めないので、何かがお互いにあったら直ぐに運用が止まる素敵なイントラシステム。まぁシステム部門が無くて本業と兼用している程度規模の会社ならどこでも同じようなものなんだろう。

そんな余談は置いてといて、
基幹アプリでも対応できない抽出なんかは、ACCESSのODBCを使ってOracleに接続して抽出を行っているんだけど、これにはMicrosoftOfficeProのライセンスが必要になってくる。もちろん費用もPersonalよりも余計に発生してしまう。

条件が1つだけの抽出でも、クエリを組んでフォームを作っていても、「ハイどうぞ」とは隣の子に使わせられない。そこには費用が発生する。それに対する費用対効果もない。
となると、結局はなんでもかんでも2人のどちらかに抽出作業が回ってくる。

お互いに本業でやるべき事が山積みの中で対応しなければならない。直ぐ終わる作業でもチリも積もれば結構な時間を取られている。

 

そこで、ふっと思いついたのが「PHPでOracleから抽出作業ができればACCESSいらないやん」
なんで今まで思いつかなかったんだろうと思った。

検索すれば簡単に出てくる出てくる。

そこで、会社のシステム用件にあったセットアップを探す。

Linuxは稼動しているサーバーがあるけど、システム保守を組んでいるサーバーだから余計なものを組み込むと障害発生時に対応してくれない可能性が出てくる。かといって、もう1台Linuxサーバーを立ち上げるのはナンセンス。

消去法でいくと、春先まで使用していたシステム用で使っていた2003serverがたいした仕事もせずに稼動中。
HDD障害を直すついでにRAIDも組んだサーバーだったので、Windows系でOracle連携をすることに決定。

セットアップ方法として決めたのはフリーツールのZendCore

※Oracle Instant ClientをインストールするためにはOracleにID登録して申請までしないといけなかったので面倒だったのが理由

ZendCore for Oracleには
・Oracle Instant Client
・PHP5
・Apache2

と必要なものが揃っているので、セットアップを終えれば全てOK

【ApacheとIISの両立】
セットアップしたサーバーでは既にIISでイントラ用WEBサーバーとして運用されていた。ZendCoreはIISでのセットアップもできたようだが、インストールした際に不具合が起きると面倒なのでApache2との両立として運用することにした。
両立はポート番号を変えてやれば問題なく動作する。
アクセスする際のURLはポート番号を8000としたとすると 例)192.168.0.×:8000となる。

PHPinfoを表示してoci8が表示されていればOK

後はPHPスクリプトを組んで抽出結果をHTML表示させればよい。
これでACCESS要らずの簡単Oracle抽出の出来上がり。

※SQL文がOracle用となるのでPostgreSQLと混同しないようにしないとエラー吐きまくり・・・

 

どうやらACCESSのODBC経由よりも心なしか反応が早い気がする。

2008年7月24日

前向き力

会社で女の子から「どうやったら前向きになれるんですか?」と聞かれた。

前向きに考える力ってのは2通りあるんだと思う。

・物事をポジティブに受け止めて前向きに考える力
・物事をネガティブに受け止めて前向きに考える力

 

自分自身はどちらかといえば後者の方なのかなと思う。

「失敗は成功への糧」という言葉は当てはまらない事が多いと思うし、失敗した事に対しては「その物事に対して解決できるだけの能力が足りなかった。」や、「そもそも自分には無理な分野であった」と考えてしまう。

・力が足りなかっただけ。
・ダメなもんはダメだった。

ただ、そこで腐るか、「次もダメかもしれんがとりあえず頑張ろう」と開き直れるかだと思う。花火になりたい性格。

「オレの個人的な意見は参考にならんね」と言って別の案を言ってみた。

 

「楽しいことばかりが続けば、楽しいと思っていた物事は普通になっていくやろ。だから辛い事もあるんだって考えればいいやん。」

納得できたようなできないような顔してた。

物事をひねくれて受け止められるか否かなのかな。純粋な子に説明するのって難しいな