問題タブ [raiserror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
783 参照

c# - C# で SQL の「raiserror」と「select」を組み合わせる

raiserrorSQL を使用し、選択した結果を C# で取得する方法があるかどうかを知りたいです。ExecuteReader()C# では、発生時に例外がスローraiserrorされますが、リーダーを使用して返されたデータをキャプチャしたいと考えています。

以下は簡単な例です。これが不可能な場合はraiserror、一般的なケースとselect特定のケースに使用します。

0 投票する
3 に答える
7061 参照

sql - RAISERROR を使用してメッセージをスローし、トランザクションをコミットする方法は?

RAISERROR を使用してメッセージ (ポップアップ メッセージ) をスローし、そのトランザクションをコミットする必要があります。オプションはありますか?

重大度18の場合、トランザクションはロールバックされました。重大度を10に変更して、次のように試しました

これはトランザクションをコミットしますが、メッセージは表示しません。ここで必要なのは、メッセージをスローし、トランザクションをコミットする必要があることです

なにか提案を?

0 投票する
2 に答える
3170 参照

sql-server - 別のストアドプロシージャを呼び出すストアドプロシージャの例外フロー

別のストアドプロシージャを呼び出すストアドプロシージャがあります。SP2には、try / transaction / catch / rollback/raiserrorがあります。SP2でエラーが発生した場合、SP1を介して呼び出し元にバブルアップしますか、それともtry / catchでSP2への呼び出しをネストする必要がありますか?後者の場合、SP1を起動/終了するときに、SP2からのエラーの「スタックトレース」を強制終了しないようにするにはどうすればよいですか?

-これにより、SP2からのエラーが発生し、SP1も終了しますか?

-または、これを行う必要がありますか?

0 投票する
2 に答える
842 参照

sql - RAISERROR を使用して ACCESS DENIED エラーを示す

呼び出し元が特定のパラメーターでこの sproc を呼び出す権限があるかどうかを検証する sproc があります。RAISERROR呼び出し元が承認されていない場合に備えて、ACCESS DENIED エラー番号を使用したい。エラー番号は 50000 より大きくなければならないため、エラー番号 10011 (sys.messages でアクセスが拒否されました) になることはありませんsp_addmessage。同じ ACCESS DENIED エラーを再現します。これを行う正しい方法は何ですか?

編集:必要な SQL コードは SQL Azure と互換性があるはずだったので、RAISERRORエラー番号なしで呼び出し、コード ビハインドでデフォルトの 50,000 エラー コードをチェックすることになりました (SQL Azure では、現在 と のサポートはsp_addmessageありませんsys.messages)。

0 投票する
2 に答える
1351 参照

sql-server-2005 - RAISERROR を使用して t-SQL で特定のエラーを発生させる

トリガーを持つビューがありINSTEAD OF INSERTます (SQL Server 2005)。ユーザーがビューに挿入するとき、実際には多くのテーブルに対して挿入と更新を行っています。ビューはインデックスを持つことができないほど複雑であるため、残念ながら制約がありません。

ビューは、変更が問題となるコードを使用して C# から挿入されています。このコードは、以下を使用して主キー違反と一意キー違反をキャッチします。

私の質問は次のとおりです。RAISERRORトリガー内で使用して、番号 2627 または 2601 の例外を作成できますか?

0 投票する
2 に答える
11112 参照

sql-server - SQLException番号の設定方法

セットアップに問題がありますSqlException.Number

ストアドプロシージャでエラーが発生しています

私はそうあるべきだと期待するError_Number()べきです@numberが、私は常に18054を取得します

私に何か問題がありますRAISERRORか?

0 投票する
2 に答える
135 参照

sql - SQL Server でエラー メッセージを作成できない

内に次のコードがあります。stored procedure動作しないこと、動作するはずがないことはわかっていますが、意図を説明したかったのです。

誰が私が何をすべきか教えてもらえますか? または、このタイプの文字列の作成に関するリンク。

編集: @Dates が の両方であると言うのを忘れましdatetimeた。エラー メッセージは、日時から文字列に変換できないということです。

0 投票する
1 に答える
939 参照

sql - 非常にトリッキーな ADO.Net の状況で、エラーはスローされませんが、スローされる必要があります。

以下のように、ストアド プロシージャを呼び出す ADO.Net コードがあります。ストアド プロシージャ内では、最初に SELECT クエリを使用して結果セットを取得し、次にRAISERROR、渡された @companyId パラメーター値が存在しない場合は SELECT ステートメントを呼び出した後に取得します。@companyId の値を使用してこのコードで単体テストを何度も実行したため、呼び出されましたが、エラーをスローするRAISEERROR呼び出しは見られません。この奇妙で直感に反することが起こっている理由は何ですか?ExecuteReader

ストアドプロシージャコードは以下のようなものです

0 投票する
1 に答える
5888 参照

c# - c#asp.net:SQLストアドプロシージャからraiserror()メッセージをキャプチャします

選択したプログラミング言語としてC#を使用して、ASP.NET4.0に頭を悩ませようとしています。私は優れたSQL開発者なので、ビジネスロジックのほとんどをSQLで実行する予定です。アプリケーションは、ストアドプロシージャを介してのみデータベースと対話します。

aspxページには、sp'season_get_byID'を呼び出すデータビューを設定するためのデータソースと、いくつかのパラメーターを受け取る更新'season_update'のためのデータソースがあります。

aspxソースは

各asp:Parameterがストアドプロシージャの@Param引数にマップされる場所-これまでのところ非常に優れています

ストアドプロシージャは、更新を試みる前にいくつかの検証を行います。検証が失敗すると、RAISERROR(@ errmsg、10,1)が発生します。

私が理解できないのは、aspx.csコードビハインドファイルのどこでエラーをキャプチャしようとし、構文はどうあるべきかです:after_updateイベントハンドラーにあるべきであり、そうであれば、その一部ではないように見えますe。例外。このルーチンの検証の一部は検証クラスを使用して実行できることを知っていますが、これは最終的な製品コードではなく、環境を操作するための学習演習です。つまり、「正しい」ものではなく、何が可能かを理解しようとしています。

ストアドプロシージャのテキストは以下のとおりです。

0 投票する
1 に答える
1106 参照

sql-server-2008 - SQLエラーの消去-SQLエラーが失われる

削除される前に削除されたレコードをログに記録するDataSnapメソッドがあります。削除が失敗した場合は、ログレコードも保持されないようにトランザクションをロールバックします。失敗の典型的な理由は、削除されているレコードが別のテーブルで使用されていることです。

私のSQLは次のようになります。

これは問題なく機能します。ただし、エラーメッセージは抑制されるため、DataSnapサーバーはエラーメッセージを認識しません。SQL構文エラーは常にエラーメッセージを表示し、その他の挿入/更新の一意キーおよび外部キー違反は常にエラーを返します。このコードがエラーを抑制する理由がわかりません。DataSnapコードは単純です。

クエリは問題なく実行されるため、構文エラーやパラメータのバインドに関する問題は発生しません。外部キー違反エラーは表示されません。SQL Management StudioでSQLを実行すると、常にエラーが表示されます...そこでcatch、次のようにブロックを変更してみました。

DataSnapサーバーのデバッグ時にエラーが発生することはまだありません。そのため、もちろんクライアントアプリはエラーについて何も知りません。'raiserror'と外部キー違反エラーがDataSnapサーバーに表示されない理由を誰かが知っていますか?

参考までに-私はDelphiXE2EnterpriseとSQLServer2008R2をすべてWindowsServer2008R2で実行しています。