Frage

Ich habe eine Anwendung geschrieben, die ein Benutzer eine Abfrage erstellen und ausführen kann, dann speichern Sie den Bericht auf Datei. Sie können den Bericht aus einer Datei zu einem späteren Zeitpunkt und Ansicht auf dem Bildschirm laden.

Ich verwende eine TADOQuery Komponente die Abfrage auszuführen, und SaveToFile rufen, wenn die Abfrage Daten zurückgegeben hat. Ich habe dann Loadfromfile verwenden, um die Daten wieder in eine TADOQuery und von dort zu laden, kann ich die Daten in eine virtuelle Listenansicht lesen. In beiden Fällen bin ich die Angabe „pfXML“ als Formatparameter.

Ein Benutzer hat ein Problem berichtet, wobei eines der Felder in dem Bericht Müll statt lesbaren Text angezeigt wird. Bei der Untersuchung wird die Felddefinition in ihrem XML-Dokument für das jeweilige Feld angegeben als „dt: type =‚bin.hex‘“. Wenn ich die gleiche Abfrage auf einem System hier ausführen, wird die Felddefinition in meinem XML-Dokument angegeben, wie. „Dt: type =‚string‘“

Meine Frage ist also, warum es einen Unterschied? Die Datenbanken sind identisch, also warum werden die Daten als bin.hex auf dem System des Benutzers und als String an allen anderen gerettet zu werden? Vielleicht mehr auf den Punkt, wie wird der Datentyp bestimmt? Als ich SaveToFile nennen, wie funktioniert die TADOQuery Komponente wissen, was der Datentyp ist, und was es mit dem XML-Dokument als Datentyp schreiben sollte?

Ist es, dass die Daten an den PC wird im Hex-Format zurückgeschickt, und die TADOQuery Komponente orientiert sich, dass die Einnahme oder tut es (aus irgendeinem Grund) denken, dass der Datentyp für das Feld Hex ist und es ändert die Daten zu Anzug?

Ich kann nicht alles online über diese finden, und ich kann nicht arbeiten, was los ist, so dass jede Hilfe würde geschätzt.

War es hilfreich?

Lösung 2

Es scheint, dass dies etwas mit dem zu tun hat, wie der Server eingerichtet ist. Wir hatten nur das Problem bei einem Kunden vor Ort und auf eine sehr alte Version von OS400 (die Abfragen laufen über DB2-Datenbanken).

Andere Tipps

Im ersten Blick klingt wie ein Unicode / char-Codierung für mich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top