質問があり、問題はありません。 データベースには一意の名前(一意でなければならないものの名前を格納する列)としていくつかの制限があります。 dbは挿入または更新するときに、名前を変更していないかどうかを検証し、そうであれば変換可能なエラーコード付きのSqlExceptionに2627SqlExceptionエラーコード
私の質問は何ですか?最終的なユーザーに何をすべきかを示すために私が相談できるテーブルがある場合同じ名前のユーザーが存在する。この場合
... ....
私が思う質問があり、問題はありません。 データベースには一意の名前(一意でなければならないものの名前を格納する列)としていくつかの制限があります。 dbは挿入または更新するときに、名前を変更していないかどうかを検証し、そうであれば変換可能なエラーコード付きのSqlExceptionに2627SqlExceptionエラーコード
私の質問は何ですか?最終的なユーザーに何をすべきかを示すために私が相談できるテーブルがある場合同じ名前のユーザーが存在する。この場合
... ....
私が思う、あなたがのSQLException Errors propertyを見て、メッセージ中にあなたを指している必要がありますどのerrors numberを見てみる必要がありますmaster.dbo.sysmessagesテーブル。
特定のエラーコードが特定のものを参照していることを想定してください。
select * from master.dbo.sysmessages where description like '%timeout%'
これはあなたを与える:
タイムアウトのために提供された値が有効ではありません。タイムアウトは、0〜2147483647の有効な整数である必要があります。1033
クラス '%ls'、id%p、タイプ%d、タスク0x%p:%d、待機時間%d秒、フラグ0x%I64x、所有タスク0x%p。引き続き待ちます。 1033
タイムアウトする前に、リモートサーバーインスタンス '%1!'への通信を完了できませんでした。 ALTER DATABASEコマンドが完了していない可能性があります。コマンドを再試行します。 1033
%dが最大値32767 1033 メタデータキャッシュエントリ%dを超えるデータベースミラーリングタイムアウト値:データベースIDの%d(%dは)タイムアウトをロックによるコヒーレンシのためにチェックされていません。 1033
マークされたトランザクション "%1!"は失敗しました。マークされたトランザクションをコミットしてログにマークを入れようとしているときに、タイムアウトが発生しました。これは、Microsoft分散トランザクションコーディネーター(MS DTC)トランザクションなどの競合によって発生する可能性があります。1033
SQL Server宛先の一括挿入操作がタイムアウトしました。データフロー内のSQL Server DestinationのTimeoutプロパティの値を増やすことを検討してください。 1033
...多くの言語で多くのエラーがあります。
「1033はタイムアウトを意味する」と考えられます。残念ながら、それは真実ではない:
select description from master.dbo.sysmessages where msglangid=1033
警告:致命的なエラー%dは%のS_DATEで発生しました。エラーと時間をメモし、システム管理者に連絡してください。
Waitforではクエリが許可されません。
'%。* ls'付近の構文が正しくありません。
'%。* ls'で始まる%S_MSGが長すぎます。最大長は%dです。 ステートメントにUNION、INTERSECTまたはEXCEPT演算子が含まれている場合、ORDER BY項目は選択リストに表示される必要があります。
ORDER BYの位置番号%ldが選択リスト内の項目数の範囲外です。
他にもタイムアウト以外の多くのエラーがあります。
だから私はにこだわっています:だから、実際にあなたの質問に答えるために
IsSqlTimeout = ((ex as SqlException).Message.ToUpper().Contains("TIMEOUT");
- それは、ユーザーが実際に理解できるかについて語られるべきかに依存します。
ある期間にわたってすべてのエラーをログに記録し、最も一般的なものをグループ化し、それぞれを1つずつ処理することをお勧めします。