Hi, ich möchte eine iseries(ehemals AS/400) Datenbank ( DB2/400 ) im Serienbrief verwenden.
eigentlich bräuchte ich ein komplettes Howto, da ich mit der OO Hilfe nix anfangen kann
Hat das schon mal einer gemacht ?
Danke
iseries Datenbank
Moderator: Moderatoren
Re: iseries Datenbank
JaRobi hat geschrieben:Hat das schon mal einer gemacht ?
Danke
Allerdings unter Linux, wobei das Prinzip ja das gleiche ist:
Ich habe unseren Kundenstamm per ODBC in eine OO-Datenbank eingebunden und als Datenquelle deklariert.
Das im Groben das Prinzip.
Allerdings:
Ich nehme nicht die Original-AS400-Datei. Das habe ich auch versucht. Aber: Bei der Definition der ODBC-Datenquelle bindet man immer die ganze Bibliothek ein, in der sich die gewünschte Tabelle befindet (jedenfalls ist mir kein anderer Weg bekannt). Das macht es praktisch unmöglich, einigermassen sinnvoll zu arbeiten.
Daher kopiere ich nächtens den Kundenstamm in eine AS400-Bibliothek, die sonst nichts enthält. Dabei kann man ausserdem schon Sätze ausschliessen, die ohnehin nicht gebraucht werden (solche mit Löschcode o.ä.)
Dann definiere ich eine ODBC-Datenquelle, unter Linux mit ODBCConfig, in Windows wird das wohl irgendwo in der Systemsteuerung liegen oder Du findest es bei den ClientAccess-Programmen.
Wenn Du also die ODBC-Datenquelle hast, erstellst Du eine OO-Datenbank (Datei/Neu/Datenbank) und verbindest zu dieser ODBC-Datenquelle.
Das wärs im Prinzip.
Wenn Du Du jetzt F4 drückst, hast Du die Tabelle schon zur Verfügung und könntest die Felder einfach in ein Writer-Dokument ziehen.
Jetzt gibt es noch ein kleines Problem:
Die Felder werden bei Ihrer Ankunft in OO mit Leerzeichen aufgefüllt. Dieses Problem konnte ich mit Hilfe hier aus dem Forum lösen:
Statt die Tabelle direkt zu benutzen, definiert man eine Abfrage. In dieser Abfrage kann man die Felder dann "trimmen", Beispiel:
RTRIM( "KUNA1" ) AS "Name1"
Dabei werden aus dem Originalfeld KUNA1 die Leerstellen auf der rechten Seite des Feldes abgeschnitten und ein Alias-Name "Name1" zugeordnet.
Das wär so der Überblick. Kommst Du damit klar oder brauchst Du an bestimmten Stellen mehr Info's?
mfG
Zuletzt geändert von Eia am Di, 19.02.2008 14:26, insgesamt 1-mal geändert.
Re: iseries Datenbank
Prinzip verstanden,
danke. Ich werde es versuchen, z.zt. quäle ich mich noch mit dem richtigen Treiber
wenn noch was nicht geht, würde ich hier nochmal fragen.
Nochmal Danke
Robi
danke. Ich werde es versuchen, z.zt. quäle ich mich noch mit dem richtigen Treiber
wenn noch was nicht geht, würde ich hier nochmal fragen.
Nochmal Danke
Robi
Re: iseries Datenbank
Hmm, so klappt es (fast)
Ich habe allerdings als LIB immer die QGPL, wie kann ich da eine andere Lib einstellen ?
Robi
Ich habe allerdings als LIB immer die QGPL, wie kann ich da eine andere Lib einstellen ?
Robi
Re: iseries Datenbank
Das ist eine Definition bei der ODBC-Datenquelle. Bei SQL-Standardbibliothek tust Du die Bibliothek rein mit den Daten, die Du übernehmen willst. Bei "Paketbibliothek" kannst Du QGPL drin lassen.
mfG
mfG
Re: iseries Datenbank
Das geht so nicht ?!
ich teste das mit qsys, in der Hoffnung, das ich darüber an alle Libs rankomme.
aber die Verbindung zeig immer QGPL an. auch raus und rein hat nicht geholfen.
ich teste das mit qsys, in der Hoffnung, das ich darüber an alle Libs rankomme.
aber die Verbindung zeig immer QGPL an. auch raus und rein hat nicht geholfen.
Re: iseries Datenbank
Wo hast Du denn Deine ODBC-Datenquellen, auf einer Linux- oder Windows-Maschine? Mit ClientAccess definiert?
Re: iseries Datenbank
Auf der Arbeit hab ich nur Windows XP., Privat Ubuntu 7.10, privat hab ich aber (leider) kein iseries
hat sich aber erledigt, wenn ich was anderes als QSYS nehme, geht es
Vielen dank für die Hilfe
Robi

hat sich aber erledigt, wenn ich was anderes als QSYS nehme, geht es
Vielen dank für die Hilfe
Robi