昨日、同志が PHP を使用してストアド プロシージャを呼び出すことができるかどうか尋ねているのを見て、それはできるはずだと感じたので、すぐに実験を行ったところ、大成功しました。とても予想外です!したがって、みんなの参考のために書き留めてください!
ご存知のとおり、ストアド プロシージャはサーバー側のスクリプト プログラムであり、実行が非常に高速ですが、固定データベースに依存しており、移植性が低いという欠点もあります。
前回の記事で、COM コンポーネントを使用して ADO および関連コンポーネントにアクセスできると述べましたが、自分で構築するか、システムに付属するかに関係なく、PHP は dcom/com+ をサポートしていません。 、しかし、次のバージョンはサポートされるはずだと思います。
特に言うことはありません。すぐに試してみましょう。
以下は私の簡単な保存手順です
CREATE PROCEDURE [sp_mystoreprocedure] AS
顧客から会社名、連絡先名、都市を選択します
本当はもっと複雑なものを書くこともできましたが、残念ながら深く勉強していなかったため、シンプルにしなければなりませんでした。
以下は私のphpファイルです
define ("OLEDB_CONNECTION_STRING",
"Provider=SQLOLEDB; Data Source=zzb; Initial Catalog=Northwind; User ID=sa; Password=");
$dbc = new COM( " ADODB.Connection");
$dbc->Open(OLEDB_CONNECTION_STRING);
$command = "sp_mystoreprocedure";
$rs = $dbc->Execute($command); // レコードセット
$i = 0;
echo '
ディレクティブ | ローカル値 | マスター値 |
---|---|---|
' fld0->value; | print ' | /td>'; print $fld2->value; print ' |