-
Wenn ich bei CLI Zielfelder als GRAPHIC(13488) angebe, ist die CCSID des Jobs tatsächlich egal (was anderes als Embed-SQL oder CLI gibts sowieso nicht auf der AS).
Der Toolbox-Treiber weiss das, der Native-Treiber verwendet dann wohl CHAR und das ist immer Job-CCSID was für Mehrsprachigkeit bzw. Unicode in der DB tödlich ist.
-
Missverständnis.
Es geht nicht um die CCSID der Tabelle oder der Felder sondern um die CCSID des SQL-Statements, welches an die CLI-API ubergeben wird.
Hier wird von Unicode nach EBCDIC gewandelt und hier ist eine definierte CCSID notwendig.
Sonst kommt z.B. statt :
select * from tabelle where feld like 'xxx%'
eben
select * from tabelle where feld like 'xxx§'
oder irgend etwas ähnlich falsches an der CLI-Schnittstelle an.
Sven
-
Einspruch, jeder RPG Schinken kann das ohne dass der Job eine CCSID braucht. Was besonders ärgerlich an der Angelegenheit ist: zunehmend muss man damit rechnen, dass nach Release Wechseln Programme nicht mehr funktionieren, oder gar nicht mehr kompilierbar sind. Quo vadis as400???
Dieter Bender
 Zitat von Sven Schneider
Missverständnis.
Es geht nicht um die CCSID der Tabelle oder der Felder sondern um die CCSID des SQL-Statements, welches an die CLI-API ubergeben wird.
Hier wird von Unicode nach EBCDIC gewandelt und hier ist eine definierte CCSID notwendig.
Sonst kommt z.B. statt :
select * from tabelle where feld like 'xxx%'
eben
select * from tabelle where feld like 'xxx§'
oder irgend etwas ähnlich falsches an der CLI-Schnittstelle an.
Sven
-
Hallo Dieter,
das stimmt nicht ganz.
Die Job CCSID (z.B. mit CHGJOB CCSID(65535)) kann durchaus 65536 sein, aber :
Ist die ID des codierten Zeichensatzes (CCSID) des Jobs
nicht 65535, stimmt die Standard-ID des codierten
Zeichensatzes mit der ID des codierten Zeichensatzes des
Jobs überein. Ist die ID des codierten Zeichensatzes des
Jobs 65535, wird aufgrund der Sprachen-ID des Jobs
(LANGID) ein entsprechender Wert für die Standard-ID des
codierten Zeichensatzes festgelegt.
(Aus Online-Hilfe WRKJOB)
Die "Standard-ID des codierten Zeichensatzes" ist immer ein definierter Wert, ggf. über Sysval QLANGID zugeordnet, und niemals 65535.
So das der Job immer eine definierte CCSID hat.
Warum der JDBC-Native-Treiber dies nicht verwendet, erschliesst sich mir nicht.
Bei vorumgewandelten Programmen mit embedded SQL oder CLI sieht das ganze wieder anders aus. Hier wird bereits zur Compile-Zeit die korrekte CCSID für die SQL-Anweisungen bzw. verwendeten Strings zugeordnet, so das die CCSID des Jobs zu Laufzeit egal ist.
Sven
Similar Threads
-
By Azaron in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 05-12-06, 13:42
-
By alexander may in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 18-05-06, 20:16
-
By Der_Unwissende in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 14-11-05, 08:30
-
By bode in forum NEWSboard Java
Antworten: 7
Letzter Beitrag: 02-09-05, 15:09
-
By neuling_ in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 18-08-04, 12:11
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