Yii でストアドプロシージャを呼び出すときにエラーが発生した場合はどうすればよいですか?

藏色散人
リリース: 2020-07-21 10:36:02
オリジナル
3942 人が閲覧しました

yii がストアド プロシージャを呼び出すときのエラーの解決策: まず、「MYPROC」ステートメントが呼び出された後にスローされる例外を確認し、情報プロンプトに従って、ステートメント「SET NOCOUNT ON;」をストアド プロシージャ。

Yii でストアドプロシージャを呼び出すときにエラーが発生した場合はどうすればよいですか?

yii はストアド プロシージャの呼び出し時にエラーを報告します:

YII: "クエリのアクティブな結果が表示されますMSSQL2005 ストアド プロシージャを呼び出すときにフィールドが含まれていません。"

推奨事項: "yii チュートリアル"

YII で MSSQL2005 のストアド プロシージャを呼び出すとき、値を返し、次のステートメントを使用してストアド プロシージャ "MYPROC" を呼び出します:

DECLARE @return_value int; exec @return_value = MYPROC; select @return_value;
ログイン後にコピー

呼び出し後に次の例外がスローされます (var_dump で出力されます):

object(CDbException)[50]
  public 'errorInfo' => 
    array
      0 => 
string
 'IMSSP' (length=5)
      1 => 
int
 -15
      2 => 
string
 'The active result for the query contains no fields.' (length=51)
  protected 'message' => 
string
ログイン後にコピー

'CDbCommand は SQL を実行できませんステートメント:

SQLSTATE[IMSSP]: The active result for the query contains no fields.. The SQL statement executed was: DECLARE @return_value int;exec @return_value = MYPROC @ActivityID = :ActivityID ;select @return_value;' (length=257)
ログイン後にコピー

次の情報ヒントによると、このステートメントをストアド プロシージャに追加すると正常になりました:

SET NOCOUNT ON;

以上がYii でストアドプロシージャを呼び出すときにエラーが発生した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
yii
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート