-
CCSID eines Files
Hallo!
ich bin neu hier im Forum und leider etwas verzweifelt.
Ich habe folgendes Problem: Ich möchte mittels Java oder JDBC die CCSID eines Files herausfinden.
Unser Szenario:
Ein Java Programm auf einer Windows Büchse liest ein File von AS/400 Server A und schreibt dieses File auf einer AS/400 Büchse B. Die CCSID auf B soll dieselbe wie auf A sein!.
Ich kann über Java oder JDBC das File lesen und auch auf B schreiben, nur kenne ich in Java nicht mehr die Ursprungs CCSID und weiss deshalb nicht welche ich beim schreiben verwenden soll.
In der Klasse ASFile gibt es leider keine Methode welche mir die CCSID liefert. Gibt es eine Systemtabelle wo pro File die verwendete CCSID abgelegt ist oder sonst eine Möglichkeit? Über DSPFD kann ich ja die CCSID sehen, aber wie komme ich aus Java oder via JDBC daran?
Vielen Dank für eure Hilfe
-
Wenn du JDBC, also SQL verwendest, sollte dir die CCSID vollkommen egal sein. Hauptsache, alle beteiligten Dateien haben überhaupt eine (also <> 65535).
Beim Lesen von Zeichendaten wird in UNICODE konvertiert und beim Schreiben in die ZielCCSID. Einen programmtechnischen Eingriff sollte man nicht vornehemn.
Läuft dein Java auf der AS/400, sollte dein Job eine CCSID <> 65535 haben, da sonst überhaupt nicht konvertiert wird.
-
Hallo,
erstmal vielen Dank für die schnelle Antwort.
Es ist aber leider eine Anforderung des Projektes, dass die ccsid's auf server A und B dieselben sind.
Es muss doch irgendwie möglich sein, die ccsid eines Files abfragen zu können, oder?l
Gibt es ein RPG das man aufrufen kann?
Vielen Dank!i
-
Wie werden die Dateien denn erstellt ?
Wenn du CREATE TABLE verwendest, nimmt das System automatisch die CCSID der Systemsprache, auch hier brauchst du nichts tun !
Wenn die Dateien/Tabellen bereits existieren, darfst du gar nichts mit der CCSID tun. Dann gilt bereits oben gesagtes.
Die Anforderung kann ich da nicht so verstehen.
Es gibt AS/400-API's oder DSPFD mit Ausgabedatei um CCSID's abzufragen.
-
Hi,
also. ich verwende die Methode create der Klasse AS400File von JTOPen.
create(RecordFormat recordFormat, String textDescription, String altSeq, String ccsid, String order, String ref, boolean unique, String format, String text)
Hier kann ich die gewünschte CCSID der Ziel Datei angeben. Funktioniert auch wunderbar. Nur fehlt mir zu meinem Glück noch die Quell CCSID.
Kannst du mir die APIs/RPGs nennen? Oder gibt es nicht eine System Tabelle welche die Fileattribute, wie z.b. ccsid, beinhaltet und welche ich via JDBC abfragen kann?
DSPFD hab ich via Java aufgerufen, nur leider bekomme ich nicht das Ergebnis ... ich sehe nur, dass der Call erfolgreich war.
Vielen Dank für die Hilfe!
-
Naja, mit SQL wäre es effektiver:
Create Table MyTable (Field as char(nn) CCSID xxxx, ...)
Die Quellinformationen erhältst du aus QSYS2/SYSCOLUMNS !
Das ist allerdings Releaseabhängig ob das Feld CCSID vorhanden ist (ab V5 glaube ich).
-
Hallo,
vielen dank für deine Info. Ja, in der SYSCOLUMNS hab ich die CCSID gefunden.
Ich hab auch noch eine Möglichkeit über Java gefunden:
SequentialFile mySF = new SequentialFile(myAS400, filename);
mySF.setRecordFormat();
RecordFormat recordformat = mySF.getRecordFormat();
if(recordformat != null)
{
for(int i = 0; i < recordformat.getNumberOfFields(); i++)
{
AS400DataType as400datatype = recordformat.getFieldDescription(i).getDataType();
if(as400datatype.getInstanceType() != 9)
continue;
ccsid = ((AS400Text)as400datatype).getCcsid();
}
}
System.out.println("The mystic ccsid is " + ccsid);
Similar Threads
-
By codierknecht in forum NEWSboard SAP
Antworten: 32
Letzter Beitrag: 09-02-18, 13:00
-
By cc in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 25-01-07, 09:29
-
By umeis in forum NEWSboard Windows
Antworten: 3
Letzter Beitrag: 11-08-06, 12:45
-
By mtu in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 06-06-06, 08:15
-
By schaaf in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 04-05-06, 11:18
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks