PDA

View Full Version : ODBC Problem



csupp
01-07-04, 15:23
Hallo an alle,

heute habe ich mal wieder ein Problem, das ich bisher noch nicht hatte:

Maschine gesichert 21er sicherung, danach Maschine platt gemacht und neu eingespielt. Alles geht nur neue ODBC Verbindungen schlagen mit Verbindungsfehler fehl. TCP neu installiert, neue PTFs - alles kein Ergebnis. Hostserver und JAVA will ich jetzt noch neu installieren. Hat hier einer eine IDEE

Maschine 170er und Betriebssystem V4R5M0


Ich weiß hier keinen Rat

synus
01-07-04, 15:34
hallo csupp

a) Eintrag in WRKRDBDIRE des systems noch vorhanden ?

b) gehen alte ODBC Verbindungen denn noch ?

c) was für eine Meldung kommt den ?

d) Versuch: in Register Karte pakete den extend. Dynam. support entfernen

e) sollen daten nur gelesen oder auch geschrieben werden ?


Gruss Roberto

csupp
01-07-04, 17:01
Hallo Synus,

1.) WRKRDBDIRE ist vorhanden
2.) alle alten ODBC Verbindungen gehen einwandfrei
3.) Fehlermeldung "Fehler bei der Verbindung ...."
4.) werde ich versuchen
5.) Sowohl als auch

Danke erstmal, ich werde posten ob ich das Problem gelöst habe!!!

Sven Schneider
01-07-04, 21:04
Was sind denn alte und neue ODBC-Verbindungen.
Erklärung notwendig??!!!

Dann mal Traces einschalten :

- ODBC-Trace (DriverManager)
- CA Detail- und Einstiegspunkttrace

Protokolle kontrollieren.
Poste noch mal die genaue Fehlermeldung mit CWB.. Meldungs-ID.

Auf AS/400 :
ggf. alle alten *SQLPKG,s löschen.
Aber bitte nicht die QSQLPKG2 und QSQXDPKG sonst können keine neuen erstellt werden, weil dies sind Templates. (für extended dynamic support)
QZDAPKG kann gelöscht werden; wird neu erstellt beim Starten des database Hostservers.


Sven

Fuerchau
02-07-04, 08:20
Pakete werden normalerweise in die QGPL erstellt (ausser man gibt bei der ODBC-Registrierung was anderes an).

Wie siehts den mit der Berechtigung zur Erstellung neuer Objekte in der QGPL aus
(EDTOBJAUT QGPL *LIB) ?

Da die alten Verbindungen noch laufen, heißt das nur, dass auf vorhandene SQLPKG's zurückgegriffen wird. Für neue Verbindungen können aber keine neuen SQLPKG's erstellt werden.

"Extend Support" würde ich empfehlen aktiviert zu lassen (Paket-Unterstützung) da das die Performance für ODBC erhöht. Denn nur dann können "Prepared-Statements" verwendet werden.

csupp
02-07-04, 08:32
@Sven: Alte Verbindungen heisst bereits angelegte ODBC-Verbindungen vor Sicherung und Rücksicherung.

@Fuerchau: Der Tip ist gut! Die Berechtigung werde ich mir anschauen und dann melden wie's gelaufen ist. Bisher hat leider noch nix geholfen.

Die Fehlermeldung poste ich am Wochenende - Da werde ich mich wieder um das Problem kümmern!!
Danke einstweilen

Sven Schneider
02-07-04, 13:23
@Sven: Alte Verbindungen heisst bereits angelegte ODBC-Verbindungen vor Sicherung und Rücksicherung.

Dann würde ich mal die neu angelegten ODBC-Datenquellen (ich hoffe das ist mit ODBC-Verbindungen gemeint) mit den alten vergleichen.
Insbesondere beim eingestellten COMMIT-Modus hat sich der Default von *NONE auf *CHG geändert.
Ich glaube ab V4R5 Client Access, genau weis ich das aber nicht.

Ausserdem wurde ich hier noch einmal nachlesen, was zum Thema autocommit steht und sich ab OS/400 V4R5 geändert hat .
http://www-912.ibm.com/s_dir/sline003.NSF/c622b08ce6a329d686256c2300663453/a678b857a9a4b3e186256bab00741e3a?OpenDocument&Highlight=0,ODBC,Commit

http://www-1.ibm.com/support/docview.wss?uid=nas131821151773d0613862569b2005506 44&rs=110
Sven

csupp
02-07-04, 14:33
Hallo an alle zusammen.

Also mal wieder vielen Dank für die fachmännische Hilfe. Ich kann hier nur noch mal betonen, daß dieses Board für die AS/400, eSeries, iSeries und i5 unerläßlich ist.

Einen herzlichen Dank an Fuerchau, der als Moderator auch immer den richtigen Tipp parart hat.

Ich habe die Aufgabenstellung wie folgt gelöst:

Nach dem Tip von Fuerchau haben wir uns auf die Berechtigungen gestürzt.
Zunächst haben wir alle PTFs nochmals installiert und auch kontrolliert. Danach haben wir alle SQL Packete in der QGPL gelöscht und nach den Berechtigungen geschaut.
Danach haben wir unter z.B. Excel die alten Abfragen wieder erstellen können aber keine neuen. Der Versuch in Access brachte dann aber das volle Ergebnis - also auch die Anlage von neuen Abfragen.

Es ist wohl so, daß das Betriebssystem bei bestehenden Abfragen etwas kleinlich reagiert wenn man ein System zurückspeichert. Nach Löschen und Neuerstellen funktionierte dann alles so wie es sollte - mit Ausnahme von Excel.
Nach Rückfrage bei einem IBM-Techniker bestätigte der dieses Phänomen und berichtete uns von seinen Erfahrungen. Wir leben jetzt damit, das in Excel nicht neu angelegt werden kann. In Access geht es ja. Die Abfrage kann man dann ja auch in Excel verwenden.
Es ist übrigens nicht so, daß dies nur auf einem bestimmten PC passiert, sondern auch auf unterschiedlichen Rechnern.

Ganz zufriedenstellend sicher nicht, aber dennoch eine pragmatische Lösung.

Gruß

Fuerchau
02-07-04, 14:47
Nun, ganz zufriedenstellend ist das wirklich nicht wenn ich für neue Abfragen erst über Access gehen muss.
Wie wäre es denn, wenn man im ODBC-Manager den Namen und die Lib eines SQL-Paketes fest vorgibt ?
Wenn ich dann aus Excel eine neue Abfrage (über MS-Query) erstelle, wird nun dieses Paket immer verwendet.

Ich habe mir auch angewöhnt, das Paket in die QTEMP zu legen. Der Vorteil ist, dass ich keine überflüssigen Pakete auf dem System habe, aber was ich noch wichtiger finde ist:
Der Paketename wird automatisch vom ODBC-Treiber aus der verwendenden Anwendung erstellt. Da die Anwendung nun mal Excel ist, werden alle Abfragen verschiedener User / PC's über ein und das selbe Paket abgewickelt. Dass dies zu Problem führt (Berechtigung, Eigner des Paketes) war mir schnell klar.
Seit ich das Paket fix mit Namen in QTEMP stelle (erst ab V4R3) habe ich keinerlei Probleme mehr (QTEMP gehört mir ja im Prinzip).