2011-01-17 7 views
2

Dies ist eine facettenreiche Frage, aber jede Hilfe sehr geschätzt wirdSharepoint Business Data Liste Verhalten

Hintergrund:

  1. ich eine Anwendungsdefinition mit 6 Einheiten haben SSO mit
  2. Die Datenbank-Backend ist Firebird über ODBC
  3. Alle Daten kommt von Stored Procedures

Suche ions:

1 Beim Versuch, eine oder mehrere Entitäten aus dem BDC in einem Webpart für Geschäftsdatenlisten zu implementieren, erhalte ich den folgenden Fehler: "Beim Abrufen von Daten ist ein Fehler aufgetreten. Administratoren, finden Sie im Serverprotokoll für weitere Informationen. "Es passiert nur, wenn ich Felder haben, die null sind, in diesem Fall ein Feld, das als eine Zeichenfolge deklariert wurde.

2.Wenn ich die Protokolle überprüfen, ist es ein System. Overflow.

3. Wenn ich es ändern, so dass die Ausgabe von dem Verfahren eine leere Zeichenfolge ist, als ich plötzlich bekommen „der Titel Eigenschaft Einheit wird auf einen ungültigen Wert gesetzt“

4.Die Fehler aus den Protokollen nach dem Ändern in eine leere Zeichenfolge ist "Exception HandleXslException.HandleException System.ArgumentException: '.', Hexadezimalwert 0x00, ist ein ungültiges Zeichen" Was gibt es? Es funktionierte letzte Nacht ohne Problem, bis ein Datensatz mit einem Nullwert in einem der Zeichenfolgenfelder angezeigt wurde. Nun, sogar den Nullwert durch etwas Generisches zu ersetzen, gibt mir immer noch den ungültigen Fehler der Titeleigenschaft.

Am rätselhaftesten: Wenn ich die Abfrage so ändere, dass die Zeilen mit einer Null oder einer leeren Zeichenfolge nicht in der Abfrage enthalten sind, verschwindet der Fehler. Aber, wenn ich sie zurück addiere und die Nullzeichenkette durch irgendetwas ersetze, kommt der Fehler zurück. Was zum! @ # $? Woher weiß ich, dass ich einen Nullwert durch etwas anderes ersetzt habe, bevor die Datensätze an den XmlReader zurückgegeben werden?

+0

Falls jemand anderes auf dieses Problem stößt: Ich habe die Kodierung auf allen Varchar- und Char-Ausgaben als Unicode gesetzt und es repariert. Das Fehlen der Codierung führte dazu, dass für diese Spalte Nullzeichen (kein Nulleintrag, aber ein Nullzeichen) vorhanden waren und Sharepoint das Feld nicht analysieren konnte. Die Codierung geändert, und alles funktioniert. – Sam

Antwort

0

Ich bin in genau dieses Szenario gelaufen und es brachte einige böse/verwirrte Momente zurück. Wie Sie in Ihrem Kommentar sagte:

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.

Es hat mich ein paar Tagen am Computer schwören, bevor wir es auf das Metall herunternahm und entdeckte die Unicode-Ausgabe. Ich weiß nicht einmal, wann es sich geändert hat, aber wir haben das Gleiche erkannt und alles war wieder in Ordnung mit der Welt.

Verwandte Themen