SQL Server では、raiserror() でエラーを発生させることができます。接続を中断しない重大度を使用したい。このエラーは、ストアド プロシージャで発生します。SQL Management Studio ではすべて問題なく、この SP を実行するとエラー コードが表示されます。しかし、PHP5 で MDB2 経由でこの SP を実行しようとすると、これは機能しません。私が得るのは空の配列だけです。
MDB2 オブジェクトは次の方法で作成されます (必要なオプションを含む):
$db =& MDB2::connect($dsn);
$db->setFetchMode(MDB2_FETCHMODE_ASSOC);
$db->setOption('portability',MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL);
次のように動作します (PEAR エラーが発生します)。
$db->query("RAISERROR('test',11,0);");
しかし、このエラーを発生させるストアドプロシージャを呼び出すと、
$db->query("EXEC sp_raise_error");
出力はありません。どうしたの?