この記事は、次の製品に適用されます。
- Microsoft BizTalk Adapter Pack 2.0
- Microsoft BizTalk Adapter Pack 2010
- スタンドアロンの WCF ベース BizTalk Adapter for SQL Server
現象
たとえば次のようなシナリオを考えてみます。
Windows Communication Foundation (WCF) ベースの SQL アダプターを使用して、Microsoft SQL Server テーブルの列に行を挿入するストアド プロシージャを呼び出す送信ポートを作成します。 テーブルの列に NULL 値を格納することはできません。
注: WCF ベースの SQL アダプターは、Microsoft BizTalk Adapter Pack 2010 に含まれています。
送信ポートに到着した入力メッセージに空の要素が含まれている。
たとえば、メッセージに <ns0:input></ns0:input> または <ns0:input/> の空の要素があるとします。
このシナリオでは、次のようなエラー メッセージがアプリケーション ログに記録されます。
注
送信ポート "<送信ポート>" でアダプター "WCF-SQL" に URI "mssql://<URI>" で送信されたメッセージが中断されています。
エラーの詳細: System.Data.SqlClient.SqlException (0x80131904): 列 '<列名>'、テーブル '<テーブル名>' に値 NULL を挿入できません。列では NULL は許可されません。 INSERT 失敗。
ステートメントは終了しました。
テーブルの列に NULL 値を格納できる場合、NULL 値はテーブルの列に誤って挿入されます。
メモ
- この問題は、送信ポートがストアド プロシージャではなくテーブル操作を呼び出してテーブルの列に行を挿入する場合には発生しません。
- 空の要素の正しい値は空の文字列です。
解決策
累積的な更新プログラムの情報
BizTalk Adapter Pack 2009
この問題を解決する修正プログラムは、BizTalk Adapter Pack 2.0 の累積的な更新プログラム パッケージ 4 に含まれています。 累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。
2604327 BizTalk Adapter Pack 2.0 の累積的な更新プログラム パッケージ 4
BizTalk Adapter Pack 2010
この問題を解決する修正プログラムは、BizTalk Adapter Pack 2010 の累積的な更新プログラム パッケージ 2 に含まれています。
累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。
2572999 BizTalk Adapter Pack 2010 の累積的な更新プログラム パッケージ 2
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
参考資料
BizTalk Server のサービス パックと累積的な更新プログラムの一覧の詳細については、次の記事番号をクリックして Microsoft サポート技術情報の記事を参照してください。
2555976 BizTalk Server の Service Pack と累積的な更新プログラムの一覧 BizTalk Server 修正プログラムの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。
2003907 BizTalk Server の修正プログラムに関する情報