WCF Oracleアダプタを使用してOracleテーブルにデータを挿入しようとしています。テーブルにはDateTimeフィールドがあります。識別フィールドを使用してオーケストレーションでフィールドの値を設定した後、WCF Oracleアダプタを使用するように構成された送信ポートにメッセージを送信します。BizTalk WCF Oracleアダプタ:DateTime値の送信
メッセージがOracleに送信されたとき、これは私に次のエラーを与える:フィールドの
値が無効です。 DateTime.KindはDateTimeKind.Unspecifiedでなければなりません。 DateTime値にTimeZoneまたはTimeZoneOffsetが含まれていないことを確認します。
私は未指定であることをDateTimeKindを強制的にこれを使用してみました:
msg.ProcessedDateTime = System.DateTime.SpecifyKind(
System.DateTime.Now.ToLocalTime(),
System.DateTimeKind.Unspecified);
が、私はまだ同じエラーメッセージが表示されます。
私はまた、日付の次の形式を使用してXMLがこのメッセージのために生成されたことがわかります:YYYY-MM-DD T HH:MM:ss.ffffffZ
問題はの終わりにZであると思われます(GMT + 0)
スキーマでフィールドをxs:と定義するため、「ProcessedDateTime」プロパティに任意の文字列(制御可能な形式)を割り当てることはできません。オーケストレーションでは、System.DateTime値を使用する必要があります。
にはどのようにSystem.DateTime表現を強制できますか?にはタイムゾーン情報が含まれていませんか? DateTimeは私のコードではなく、BizTalkによって文字列に変換されるので、直接表現を制御することはできません。