PDA

View Full Version : via Delphi auf ADO ODBC auf AS400 zugreifen



stefanE
19-05-10, 08:22
Hallo zusammen,

ich habe das Problem, dass ich auf eine Datenbank zugreifen soll, das geht aber nicht!

Durch das ADO Tutorial habe ich die Verbindung hinbekommen, das Funktioniert auch und ich kann über ADOConnection
auch die FeldNamen des Tables lesen von dem ich die Daten will!

Aber ob ich ADOQuery, ADOTable oder ADODataSet verwende es kommt immer die gleiche Fehlermeldung
Zitat: [IBM]iSeries Access ODBC-Treiber][DB2 UDB]SQL0204 - WAKO der Art *FILE in myUser nicht gefunden

Wobei WAKO der Table ist und myUser der User (??) der sich mit Passwort connected!
Kann sich da jemand einen Reim drauf machen?

Wenn ich im ObejktInspektor CommandText anklicke kommt auch ein Auswahlfenster in dem ich die Tabelle (Table) und die Felder der SQL Abfrage eingeben muss/kann. Es besteht also eine Verbindung!

Wie komme ich bloss an die Daten?


Ihr merkt ich habe keine Ahnung, hoffentlich kann mir geholfen werden

Gruß

Stefan

Hier ist mal der Connection String:
Provider=MSDASQL;Persist Security Info=False;User ID=aUser;Password=aPassword;Data Source=rhdbd_16;EXTCOLINFO=1;Driver=iSeries Access ODBC Driver;Initial Catalog=VWWE400;DBQ=C:\Programme\Borland\Delphi7\P rojects\DB\AS400.mdb;Mode=Read;

Fuerchau
19-05-10, 08:28
Wie immer das selbe Problem:
Wenn ich unqualifizierte Abfragen mache, wird die Table in der Lib des angemeldeten Users gesucht.
Möchte ich eine bestimmte tabelle abfragen muss ich den namen qualifizieren:

select * from mylib.mytable ...

andreaspr@aon.at
19-05-10, 08:30
Hier ist mal der Connection String:
Provider=MSDASQL;Persist Security Info=False;User ID=aUser;Password=aPassword;Data Source=rhdbd_16;EXTCOLINFO=1;Driver=iSeries Access ODBC Driver;Initial Catalog=VWWE400;DBQ=C:\Programme\Borland\Delphi7\P rojects\DB\AS400.mdb;Mode=Read;

Die Tabelle ist in einer Lib. Bei einer Standard-Verbindung ist Current-Lib = User.
Entweder du machst ein
Select * from MyLib.WAKO
oder gibst im Connection-String unter dem Attribut DBQ deine Lib an.

Wen du dich direkt zur AS/400 verbindest ist diese definition sicher falsch:
DBQ=C:\Programme\Borland\Delphi7\P rojects\DB\AS400.mdb
Korrekt wäre dann:
DBQ=MYLIB;

stefanE
19-05-10, 12:28
Super! Ich wusste ja dass nicht viel fehlt.

Danke, das hat mir weitergeholfen.

Ciao
Gruß Stefan