-
welches Release ?
Hallo,
welches Release ist denn auf der ISeries installiert und welches Servicepack des ISeries Access ist denn auf dem PC installiert ?
-
Welche CCSID hat die DB ?
Welche CCSID hat der User ?
Wird ggf. Unicode verwendet (WCHAR) ?
Wenn die DB CCSID 65535 hat, steht dann in der ODBC-Konfig der Haken bei "65535 umsetzen" ?
Die Frage ist eben, kommt das 'Nü' auch so auf der AS/400 an, denn was du protokollierst kann anders aussehen.
Kannst du diesen SQL über den OpsNav testen ?
-
 Zitat von TARASIK
Hallo,
welches Release ist denn auf der ISeries installiert und welches Servicepack des ISeries Access ist denn auf dem PC installiert ?
iSeries: 5.3
iSeries Access: V6R1M0
Ich hoffe das ist aussagekräftig?
-
Das könnte ein Kompatibilitätsproblem sein, dass CA V6R1M0 nicht mit V5R3 zurechtkommt.
Trotzdem nochmal:
a) Probiere einen ähnlichen SQL mit dem OpsNav oder mal mit MS-Query (über Excel) aus.
b) Ersetze die Konstanten im SQL mit "?" und verwende Parameter-Objekte
-
 Zitat von Fuerchau
Das könnte ein Kompatibilitätsproblem sein, dass CA V6R1M0 nicht mit V5R3 zurechtkommt.
Trotzdem nochmal:
a) Probiere einen ähnlichen SQL mit dem OpsNav oder mal mit MS-Query (über Excel) aus.
b) Ersetze die Konstanten im SQL mit "?" und verwende Parameter-Objekte
Man ihr seid aber schnell hier im Forum. Ich komme ja kaum nach meinen Kunden zu fragen.
Wenn wir den Select direkt auf der AS/400 absetzen, funktioniert er. Das ist schonmal eine wichtige Erkenntnis.
Die DB steht wohl mit CCSID auf 65535. Ich habe im ODBC Treiber den Haken gesetzt unter Tab Conversions:
Convert binary data (CCSID 65535) to text
War das der richtige Haken?
Jedenfalls brachte es keine Veränderung. Ohne Umlaut wird der Select ausgeführt. Mit Umlaut bekommt die AS/400 die Krise.
OPSNAV kennt mein Kunde nicht.
Den Select haben wir auch schon in SQL Tool ausgeführt (also ohne unsere Applikation): Gleiches Verhalten.
Den Part mit den ? verstehe ich nicht.
-
So sieht der Treiber derzeit aus.
-
Das schein eher ein Problem des V6R1-ODBC's zu sein.
Mit V5 hatte ich da nie Probleme.
Allerdings verwende ich bei SQL's per ODBC GRUNDSÄTZLICH Parametermarker.
CCSID 65535 gibt immer ein Problem, da der ODBC-Serverjob immer mit einer korrekten CCSID gestartet wird.
Sonderzeichen (wie Umlaute) können ggf. nicht korrekt umgesetzt werden.
Vielleicht hilft dir noch folgende ODBC-Einstellung (ODBC-Konfig):
Register "Umsetzung"->Erweitert->CCSID für SQL-Anweisung->CCSID für Unicode (UCS-2)
Wenn das auch nicht hilft, ggf. CA für V5R3/V5R4 incl. Service-Pack installieren.
-
was die parameter betrifft gibt es hier einen netten link der dir für die zukunft helfen könnt.
myCSharp.de - DIE C# und .NET Community | Artikel | [Artikelserie] Parameter von SQL Befehlen
nur als info: ich hab CA V5R4 am PC installiert und kann via ODBC sowohl mit einer AS/400 V5R4 als auch V5R3 mit umlauten arbeiten.
-
 Zitat von andreaspr@aon.at
Im Quellcode der Applikation tun wir das natürlich, aber was hat das mit dem Select zu tun.
Der Select, wie er abgesetzt wird, ist reines SQL, wie man ihn eintippen würde.
-
Auf der iSeries, auf der die DB läuft ist Folgendes eingestellt:
Language ID= ENU
Codepage=37
Ist das irgendwie relevant?
-
Ja natürlich, dann wird versucht, die Umlaute in 037 zu konvertieren.
Jetzt kommt es darauf an, auf welcher CCSID die 5250-Sitzungen eingestellt sind.
Stehen die z.B. auf 273 hast du ein großes Problem.
In diesem Fall musst du die Felder auf die passende CCSID casten:
cast(Feld as char(nn) ccsid 273) = 'Nü'
Wichtig ist, dass das System auf die Primärsprache eingestellt ist und auch die Job's und DB passend auf die Sprache bzw. 5250-Hostcodepage gestellt werden.
Dann klappts auch mit dem ODBC.
-
 Zitat von Fuerchau
Ja natürlich, dann wird versucht, die Umlaute in 037 zu konvertieren.
Jetzt kommt es darauf an, auf welcher CCSID die 5250-Sitzungen eingestellt sind.
Stehen die z.B. auf 273 hast du ein großes Problem.
In diesem Fall musst du die Felder auf die passende CCSID casten:
cast(Feld as char(nn) ccsid 273) = 'Nü'
Wichtig ist, dass das System auf die Primärsprache eingestellt ist und auch die Job's und DB passend auf die Sprache bzw. 5250-Hostcodepage gestellt werden.
Dann klappts auch mit dem ODBC.
Also jetzt hast du mich verloren.
Was hat die 5250 Emulation mit einem ODBC Zugriff zu tun?
Welche Spracheinstellungen meinst du? Der Client und die AS/400 sind auf Englisch (US) eingestellt.
Was genau sollte ich auf welcher Maschine ändern? Oder wie kann ich herausfinden ob das wirklich das Problem ist.
Macht es Sinn den ODBC Treiber für Windows zu installieren 9.7 oder so? Oder wird der mit der iSeries nicht funktionieren?
Similar Threads
-
By Albrecht_Ch in forum NEWSboard Drucker
Antworten: 9
Letzter Beitrag: 16-03-09, 16:25
-
By helm in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 24-07-08, 13:09
-
By Bitverdreher in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 30-06-08, 10:23
-
By jogisarge in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 06-12-07, 16:35
-
By DEVJO in forum IBM i Hauptforum
Antworten: 12
Letzter Beitrag: 24-03-05, 12:29
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