ホームページ  >  記事  >  バックエンド開発  >  PHPでOracleを読む方法

PHPでOracleを読む方法

WBOY
WBOYオリジナル
2016-06-23 13:55:081186ブラウズ

RT、extension=php_oci8_11g.dll が php.ini で有効になっていますが、oci 情報が phpinfo で表示されません。他に何か設定が必要ですか? oracle11g の


ディスカッション (解決策) への返信

oracle11g クライアントをインストールする必要があります

oracle 9 以降、そのクライアントは個別にリリースされており、PHP はクライアントをバンドルする必要がありません
したがって、インターフェースを提供するだけですクライアントとの通信用 php_oci8 および php_oci8_11g
oracle11g のクライアントが大幅に変更されたため、主に oracle の新機能を使用するために php_oci8_11g が接続されます

oracle11g のクライアントをインストールする必要があります

oracle 9 以降、そのクライアントは個別にリリースされており、PHP はクライアントをバンドルする必要はありません
したがって、クライアントと通信するためのインターフェイス php_oci8 と php_oci8_11g のみが提供されます
oracle11g のクライアントは多くの変更を行ったので、php_oci8_11g がそれに接続されます、主に oracle の新機能を使用するためです

このマスターに感謝します、私は初心者ですが、基本的にこの記事に従って 64 ビット oracle をインストールしました
http://blog.sina.com .cn/s/blog_868ba3570101djuh.html
32 ビット クライアントを構築しましたが、%Oracle_Home%NETWORKADMIN で彼が言及した tnsnames.ora ファイルが見つかりませんでした。それではどうすればいいでしょうか?

これを見てください http://download.csdn.net/download/eisjmo/4362471

長い間やっていなかったので、詳細を思い出せません
ただし、画像ではセットアップが必要で、何も設定する必要はありません

長い間やっていなかったので、詳細を覚えていません
でも、画像ではセットアップだけで十分で、何も設定する必要はありません。 configure


ここで、新しい状況が発生しました。単にデータベースへの接続をテストしたところ、警告: oci_connect(): ORA-12154: TNS: C:xampphtdocsphpwork1test.php の 17 行目で指定された接続識別子を解決できませんでしたと報告されました。
ORA-12154: TNS: 指定された接続識別子を解決できませんでした
環境変数も設定されていますが、使いにくいです

コードを投稿してください

コードを投稿してください


<?php $conn = oci_connect('system', '123456', 'aaa');if (!$conn) {	$e = oci_error();	print htmlentities($e['message']);	exit;}$query = 'SELECT * FROM DEPARTMENTS';//编译SQL语句:函数:oci_parse()$stid = oci_parse($conn, $query);if (!$stid) {	$e = oci_error($conn);	print htmlentities($e['message']);	exit;}//执行SQL语句:函数:oci_execute();$r = oci_execute($stid, OCI_DEFAULT);if(!$r) {	$e = oci_error($stid);	echo htmlentities($e['message']);	exit;}print '<table border="1">';while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {	print '<tr>';	foreach($row as $item) {		print '<td>'.($item?htmlentities($item):' ').'</td>';	}	print '</tr>';}print '</table>';oci_close($conn);?>

これは PHP マニュアルの段落です

代わりに PDO メソッドを使用します

代わりに PDO メソッドを使用します


ありがとう、私は pdo を使用して同じ結果情報を返します。 。 。
SQLSTATE[42S02]: pdo_oci_handle_factory: ORA-12154: TNS: 指定された接続識別子を解決できませんでした (extpdo_ocioci_driver.c:633)
コード
$tns="aaa";try{	$conn=new PDO("oci:dbname=".$tns, 'system', '123456');}catch(PDOException $e){	echo ($e->getMessage());}

さらに、PDO_OCI extension= が開始されているの下にヘアがないのはなぜですか? php.ini php_pdo_oci.dll

$db = 新しい PDO('oci:dbname=//マシン名または ip:1521/インスタンス名', 'ユーザー名', 'パスワード'); $rs = $db-> ;クエリ ('SQL コマンド' );

$db = 新しい PDO('oci:dbname=//マシン名または ip:1521/インスタンス名', 'ユーザー名', 'パスワード'); $ db->query('sql コマンド' );


成功しました!辛抱強いご指導ありがとうございました! ! 32 いいね! !
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。