単純な接続方法だが、意外にハマったのでメモを残す。
1.COMを使った接続方法(ADODB)
2.odbc_connectを使った接続方法
1.COMを使った方法(ADO)
mb_language( "ja" ); mb_internal_encoding("UTF-8"); $cn = new COM( "ADODB.Connection" ); $cn->CursorLocation = 3; $rs = new COM( "ADODB.Recordset" ); $ConnectionString = "Provider=MSDASQL;" . "Driver={Microsoft ODBC for Oracle}" . ";SERVER=srv001" . ";UID=test" . ";PWD=test" . ";"; $cn->Open( $ConnectionString ); $query = "select * from M_STAFF"; $rs->Open( $query, $cn ); while( !$rs->EOF ) { echo "{$ret['staffcode']}"; //ワークテーブルへインサート $query = "update W_STAFF set staffcode = '{$ret['staffcode']}'"; $cn->Execute( $query ); $rs->MoveNext(); } $rs->Close(); @$cn->Close();
ちなみにoracleドライバを使用するときは下記のように文字列を変更する。
$ConnectionString = "Provider=MSDASQL;" . ";Driver={Oracle in OraClient11g_home1}" . ";DBQ=test" . ";UID=test" . ";PWD=test" . ";";
接続文字列の指定方法
- Provider : OLEDBプロバイダ名
- Data Source : 接続するデータベース
- User ID : ユーザー名
- Password : パスワード
OLEDBプロバイダの指定方法
- Jet4.0 (Access2000以降) : Provider=Microsoft.Jet.OLEDB.4.0
- SQL Server : Provider=SQLOLEDB
- Oracle : Provider=MSDAORA
- ODBC 経由 : Provider=MSDASQL
ちなみに今回、上記のMicrosoftODBCforOracleの方法を試したところ、ページを表示した段階でPCがフリーズを繰り返した。
原因がわからなかったため、接続方法を下記のように変更することに。
2.odbc_connectを使った方法
$db=odbc_connect("Driver={Microsoft ODBC for Oracle};Server=test;UID=test;PWD=test;","test","test");
$query="select * from M_STAFF";
$result=odbc_exec($db,$query);while(odbc_fetch_row($result)){
echo odbc_result($result,2)."
";
}odbc_close($db);
正常に接続できた。
あわせて読みたい
PHPでMaximum execution time of 60 seconds exceededのエラー - TechNoteMaximum execution time of 60 seconds exceededが出てプログラムが終了する場合はphp.iniにて下記を書き換える。時...
PHP+ACCESSでの文字化けについて - TechNoteAccessとの入出力は全てShift-JISになる。ほとんどの場合、結果取得やデータ更新時は文字エンコードが必要。テーブルより取得したデータを画面表示する前$...
PHPからAccessデータベースの使用 - TechNotePHPからAccessのデータベース(mdb)を利用するにはODBC経由での接続が必要。ODBCの設定手順1.「コントロールパネル」→「管理ツール」→「データソ...
プログラムで簡単理解! 7つの超重要な整列アルゴリズム(ソートアルゴリズム)まとめ - TechNote基本情報技術者試験や応用情報技術者試験の時期も近まった今、あらためて整列アルゴリズムをまとめてみたので、忘備録を兼ねてメモを残します。即席コードも併せて記載しま...
基礎からのOracle (DVD付) (プログラマの種シリーズ)
- 作者: 西沢夢路
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2010/05/28
- メディア: 大型本
- 購入: 2人 クリック: 15回
- この商品を含むブログ (10件) を見る
新・門外不出のOracle現場ワザ エキスパートが明かす運用・管理の極意 (DB Selection)
- 作者: 小田圭二,大塚信男,五十嵐建平,谷敦雄,宮崎博之,神田達成,村方仁
- 出版社/メーカー: 翔泳社
- 発売日: 2012/08/17
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 5回
- この商品を含むブログ (1件) を見る