2011-01-17 8 views
2

これは、多面的な質問ですが、任意のヘルプは大歓迎ですSharepointのビジネスデータリストの動作

背景:私が持っている

  1. データベースバックエンドがあるSSO
  2. を使用して6つのエンティティとアプリケーション定義火の鳥は、ODBCを介して
  3. すべてのデータは、ストアドプロシージャから来て

クエストイオン:

1 BDCのエンティティの1つまたはいずれかをビジネスデータリストWebパーツに実装しようとすると、次のエラーが発生します。「データの取得中にエラーが発生しました。詳細については、サーバーのログを参照してください。このフィールドには、nullのフィールドがある場合のみ、このフィールドには文字列として宣言されたフィールドがあります。

2.ログをチェックするとシステムです。ログからOverflowExceptionが、私は手順からの出力が空白文字列であるので、私は突然、「実体のタイトルプロパティが無効な値に設定されている」GETに変更し3.Ifは。

4。エラー空の文字列に変更した後、 "HandleXslException.HandleExceptionに例外が渡されました。System.ArgumentException: '。'、16進値0x00が無効な文字です" 何が出ますか?文字列フィールドの1つにヌル値を持つレコードが現れるまで発行します。さて、ヌル値を汎用的なものに置き換えても、titleプロパティのinvalid errorが得られます。

ほとんどの困惑:ヌルまたは空白の文字列を含む行がクエリに含まれないようにクエリを変更すると、エラーはなくなります。しかし、もし私がそれらを追加して何かでnull文字列を置き換えると、エラーが戻ってきます。何が!@#$?レコードがXmlReaderに返される前に、null値を何か他の値に置き換えたことをどのように知っていますか?

+0

他の誰かがこの問題を抱えている場合:すべてのvarcharとchar出力でユニコードになるようにエンコードを設定し、それを修正しました。エンコーディングの不足は、その列のnull文字(nullレコードではなく、1つのヌル文字)であり、Sharepointはフィールドを解析できませんでした。エンコードを変更し、すべてが機能します。 – Sam

答えて

0

私はこの正確なシナリオを実行し、怒っている/混乱した瞬間を戻しました。あなたのコメントで言ったように:

I set the encoding to be unicode on all varchar and char outputs and it fixed it. The lack of encoding caused there to be null characters (not a null record, but one null character) for that column and Sharepoint could not parse the field. Changed the encoding, and everything works.

それは私たちが金属にそれを取り、Unicodeの問題を発見する前に、コンピュータで宣誓の数日を要しました。私はそれがいつ変わったのか分からないけど、同じことを実現して、すべてが再び世界に合っていました。

関連する問題