-
db2set DB2TERRITORY=..
Hi,
du hast schon recht, es ist ein DB2 - CLI Parameter.
Setzen kannst du das mit db2set in der DB2-CLI.
Jedoch geht das auch mit der grafischen Oberfläche bei Client-Konfiguration (irgendwo).
Ich hab's bisher über "db2set DB2TERRITORY=.." gemacht.
Halt mich auf dem Laufenden bitte
Ercan
 Zitat von anwyuta
Hallo,
ich gehe mal davon aus, dass der von Dir genannte Parameter
ein DB2-Parameter ist.
Als CLI-Parameter konnte ich ihn beim DB2-Connect nicht finden.
Wir arbeiten mit einer DB2 auf AS/400 und somit kann ich keinerlei Einstellungen
an der DB2 vornehmen.
Kannst Du mir naeheres ueber diesen Parameter sagen?
Evtl. kann ich es ja mit der Connection mitgeben?
Vielen Dank vorab.
Gruß
Anwy
-
Hmm... wenn es ein CLI-Parameter ist, muesst ich
ihn ja auch finden.
Leider gibt es keinen Parameter: DB2TERRITORY (bei mir)
???
-
kann nachgesetzt werden...
Es gibt ihn, wenn er nicht gesetzt ist, dann kannst du ihn "nachsetzen".
Welchen Wert der genau haben muss, kann ich dir nicht sagen, ich glaube aber, dass das DE oder "de-1542" oder so ist...
--> Falsch! es ist ein numerischer wert...
http://publib.boulder.ibm.com/infoce...n/r0005657.htm
Grüsse
Ercan
 Zitat von anwyuta
Hmm... wenn es ein CLI-Parameter ist, muesst ich
ihn ja auch finden.
Leider gibt es keinen Parameter: DB2TERRITORY (bei mir)
???
-
re:
Es sieht mir danach aus,
als ob es eben ein DB2-Paramater ist und kein
Cennectivity-Parameter.
Die DB2 AS/400 unterscheidet sich sehr in diesem Bereich von
einer Windows DB2.
An solche Parameter komm ich nicht heran.
Ich kann die DB2-Connect konfigurieren, mehr leider nicht!
-
Hoffentlich haben wir uns nicht falsch verstanden...
...ich denke, es ist ein Client - Parameter.
Den haben wir auch bei unserem Client gesetzt, auf der AS400 haben wir nichts angerührt, die ist so geblieben, wie sie ist.
Hast Du die Language ID von Deutschland parat?
Nachdem du die einstellungen getätigt hast, würde ich zur Sicherheit nochmal die Büchse neu starten und das ganze ausprobieren...
LG
Ercan Yalcin
 Zitat von anwyuta
Es sieht mir danach aus,
als ob es eben ein DB2-Paramater ist und kein
Cennectivity-Parameter.
Die DB2 AS/400 unterscheidet sich sehr in diesem Bereich von
einer Windows DB2.
An solche Parameter komm ich nicht heran.
Ich kann die DB2-Connect konfigurieren, mehr leider nicht!
-
OK... ;-))
Ich werde mal auf die Suche nach dem Parameter gehen
und berichten, ob es geklappt hat.
Vielen Dank!
-
Also langsam bin ich am verzweifeln.
Ich habe mal geschaut und so gut wie nix ueber den Parameter
DB2TERRITORY gefunden.
Auch im DB2 Connect User Guide konnte ich nix dazu finden.
Hat jemand mehr Informationen?
Danke.
anwy
-
Versuch es doch bitte mal mit 49...
Hallo,
versuch's mal mit db2set DB2TERRITORY=49 .
Ich bin mir nicht sicher, aber habe die folgende Seite gesehen:
http://publib.boulder.ibm.com/infoce...63%6f%64%22%20
Hab meinem Kunden bereits schon eine email geschickt, wenn der sich meldet und mir bescheid gibt, sage ich dir auch sofort die lösung... 
lg
und gute Nacht
Ercan Yalcin
-
Wenn das Problem ZONED-Felder betrifft, hat diese Einstellung damit nichts zu tun !
Territory gibt im Wesentlichen Dezimalpunkt-/-kommaeinstellungen an.
Das Zoned-Feld wird aber hier als Ganzzahl erkannt, was zu diesen Problemen führt.
Betrachte mal die Definition der Zoned-Felder.
Die Felder müssen auf dem PC eben in ein Double-Format oder Currency-Format konvertiert werden.
Double ist aber auf 16-Stellen beschränkt, Currency entweder auf 18, 28 oder manchmal auf 2 Nachkomma je nach Programmiersprache.
Um aber ohne Datenverlust zu arbeiten, werden die Felder dann häufig als Char und damit ohne Komma übergeben.
Also verwende ggf. einen Cast:
dec(myfld, nn, p) as myfld => Cast als gepackt
double(myfld) as myfld => das funktioniert immer
-
Eigentlich hast Du ja Recht...
Servus,
eigentlich hast Du Recht, jedoch trat bei uns das Problem auf, wenn man Daten über CLI abgegriffen hat und eine andere Anwendung diese bekommen hat.
Hat man sich die Daten in der Eingabeaufforderung angesehen, waren sie korrekt.
Sobald eine andere Anwendung, wie z. B. Lotus Enterprise Integrator sie bekommen hat, waren die Nachkommastellen verschwunden. Wir haben das damals über die Einstellung DB2TERRITORY hinbekommen. (aber ob das ein fundierter Hinweis ist, kann ich nicht sagen, höchstens ein Versuch)
Zur Info:
Wenn die Anwendung die Daten über ODBC abgegriffen hat, waren diese Probleme nicht da...
LG
Ercan
 Zitat von Fuerchau
Wenn das Problem ZONED-Felder betrifft, hat diese Einstellung damit nichts zu tun !
Territory gibt im Wesentlichen Dezimalpunkt-/-kommaeinstellungen an.
Das Zoned-Feld wird aber hier als Ganzzahl erkannt, was zu diesen Problemen führt.
Betrachte mal die Definition der Zoned-Felder.
Die Felder müssen auf dem PC eben in ein Double-Format oder Currency-Format konvertiert werden.
Double ist aber auf 16-Stellen beschränkt, Currency entweder auf 18, 28 oder manchmal auf 2 Nachkomma je nach Programmiersprache.
Um aber ohne Datenverlust zu arbeiten, werden die Felder dann häufig als Char und damit ohne Komma übergeben.
Also verwende ggf. einen Cast:
dec(myfld, nn, p) as myfld => Cast als gepackt
double(myfld) as myfld => das funktioniert immer
-
Ok, das ist auch eine Erklärung.
Beim CLI werden meistens alle Daten in Char, also aufbereitet übergeben. Beim ODBC im korrekten Feldtyp (den Zoned-Fehler hatte ich ca. bei V4R2).
Wenn nun die Dezimal-Betrachtung (meist NLS-Einstellung) nicht korrespondiert kann es genau zu diesem Ergebnis kommen.
CLI bekommt die SQL-Daten bereits von der AS/400 als Zeichen. Abhängig von der Dezimal-Einstellung als Punkt oder Komma.
Nun kommt es auf die Konvertierung im Programm an.
Hierzu gibt es verschiedene Methoden, Beispiel im VisualBasic, analog gilt das auch für C++ o.ä.:
mynum = val(SQLField)
mynum = cdbl(SQLField)
Die Funktion "val()" ist grundsätzlich amerikanisch und ignoriert ein Komma als Tausender-Trennung, ähnlich der C-Funktion atof().
Die Funktion "cdbl()" berücksichtigt das aktuelle Windows-Schema für die Betrachtung des Dezimalpunktes bzw. Kommas. In C++ geht es nur über die MFC-Klasse CVariant bzw ATL-Klasse CComVariant oder die direkten Windows-Variant-Funktionen, die eine Konvertierung von z.B. BSTR in Double durchführen.
Similar Threads
-
By Ewald in forum NEWSboard Programmierung
Antworten: 0
Letzter Beitrag: 24-01-07, 18:32
-
By Stephan/400 in forum NEWSboard Server Job
Antworten: 7
Letzter Beitrag: 15-12-06, 13:39
-
By Azaron in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 05-12-06, 13:42
-
By arnoldma1 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 13-11-06, 21:14
-
By anwyuta in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 23-09-04, 11:15
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