Ich verwende ibatis und Oracle 10. Der jdbc-Treiber ist oracle.jdbc.driver.OracleDriver. Wenn ich Daten aus der Tabelle abrufe, habe ich zwei Leerzeichen gefunden. Nehmen wir zum Beispiel die Spalte ACTIVE_IND CHAR (1), die abgerufenen Daten sind 'A'.Zusätzliche Leerzeichen am Ende beim Abrufen von CHAR-Werten
Bitte beachten Sie, dass dies für alle CHAR-Felder geschieht. Und keine zusätzlichen Leerzeichen sind immer doppelt so lang wie CHAR. Wenn beispielsweise eine Spalte von CHAR (14) vorhanden ist, sind am Ende keine zusätzlichen Leerzeichen 28.
Dies geschieht nur in der System Testing-Umgebung. In unseren lokalen Desktops, die dieselbe ojdbc14.jar und denselben Code verwenden, haben wir keine zusätzlichen Leerzeichen erhalten.
Ich denke, das einzige, was in System Testing-Umgebung anders ist Datenbank. Handelt es sich um eine Zeichencodierung? Haben wir eine Konfiguration in der Datenbank, um sie zu ändern?
Oracle kann 1-Byte-Zeichensätze oder Multibyte-Zeichensätze speichern. CHAR (1) ist nicht mehr beschreibend genug ... ist das CHAR (1 CHAR) oder CHAR (1 BYTES). Wenn die Antwort die erste ist und der Zeichensatz als 2 Bytes definiert ist, beträgt der zugewiesene Speicherplatz zwei Bytes. –