Anmelden

View Full Version : DB2 Frage



Seiten : [1] 2

as400frischling
21-02-11, 14:18
Hallo AS/400 Profis :)


Also ich hätte mal eine Frage zu DB2.


Kann mir einer von euch sagen wie man auf die Interne Datenbank der AS/400 (DB2) überhaupt zugreift?

Gibt es da spezielle Befehle? Und kann mir einer noch einen Screenshot bereitstellen wie das ganze auszusehen hat?

Greift man auf die DB2 datenbank mittels SQL befehle zu? Und kann man das ganze mittels CL Befehle bewerkstelligen? Oder nur mit RPG? (Von RPG habe ich keine Ahnung).


Hoffe Ihr könnt mir meine Fragen beantworten, da ich ja in der AS/400 Welt ziemlich neu bin.



mfg as400frischling

Pikachu
21-02-11, 14:50
In die Programmiersprachen CL, RPG und COBOL auf IBM i ist der Zugriff auf die Datenbank DB2 für i bereits eingebaut (spezielle Deklarationen und Befehle zum Zugriff). Query/400 kann auch direkt auf die Datenbank zugreifen.

Mittels SQL auf IBM i ist es interaktiv, eingebettet in RPG oder COBOL oder auch als QM-Query möglich.

Für C gibt es wohl auch spezielle Befehle (ähnlich printf usw.) und der Zugriff sollte auch per eingebettetem SQL möglich sein.

Weiters ist ein Zugriff per SQL von extern auf die Datenbank möglich.

as400frischling
21-02-11, 15:37
In die Programmiersprachen CL, RPG und COBOL auf IBM i ist der Zugriff auf die Datenbank DB2 für i bereits eingebaut (spezielle Deklarationen und Befehle zum Zugriff). Query/400 kann auch direkt auf die Datenbank zugreifen.

Mittels SQL auf IBM i ist es interaktiv, eingebettet in RPG oder COBOL oder auch als QM-Query möglich.

Für C gibt es wohl auch spezielle Befehle (ähnlich printf usw.) und der Zugriff sollte auch per eingebettetem SQL möglich sein.

Weiters ist ein Zugriff per SQL von extern auf die Datenbank möglich.
Hallo Pikachu.

Danke für deine Antwort.


also welche CL Zugriffsbefehle bzw. Deklarationen gibt es zum Beispiel?

Kannst du mir einige Sachen aufzählen? Und dazu noch 1 Screenshot zeigen wie das "Endergebnis" aussieht?

Ich kann eigentlich nur CL auf der AS/400. Alles andere wie C, RPG oder COBOL kann ich nicht :).

Fuerchau
21-02-11, 15:42
Mit CL hast du da nicht besonders gute Karten.

Per DCLF deklarierst du eine Datei und alle zugehörigen Felder als Variablen, per RCVF kannst du die Datei sequentiell durchlesen.
Mit MONMSG CPF0864 kannst du EOF überwachen.

Per OVRDBF, OPNQRYF kannst du noch vor dem 1. RCVF die Satzauswahl einschränken.

Aber:
Dies ist keine SQL-Verarbeitung, Insert/Delete/Update geht da nicht.
Da brauchst du schon "höhere" Sprachen wie RPGLE/COBOL/C++.
REXX ginge da auch noch.

as400frischling
21-02-11, 17:22
Mit CL hast du da nicht besonders gute Karten.

Per DCLF deklarierst du eine Datei und alle zugehörigen Felder als Variablen, per RCVF kannst du die Datei sequentiell durchlesen.
Mit MONMSG CPF0864 kannst du EOF überwachen.

Per OVRDBF, OPNQRYF kannst du noch vor dem 1. RCVF die Satzauswahl einschränken.

Aber:
Dies ist keine SQL-Verarbeitung, Insert/Delete/Update geht da nicht.
Da brauchst du schon "höhere" Sprachen wie RPGLE/COBOL/C++.
REXX ginge da auch noch.



Ohh das ist mir zu Fachsparachlich erklärt


Ich habe ein bisschen verstanden was du su sagen möchtest.

Aber jetzt bleibt noch immer die Frage: Wenn ich mich jetzt zum Beispiel auf der AS/400 einlogge. Und ich möchte zum Beispiel ein Programm schreiben was mir in die DB2 folgende Daten schreibt/Ausliest (Als Beispiel was ich für Datensätze haben möchte):


Vorname...Nachname...Anschrift...Geburtsdatum.... Alter......


und so weiter.... Kannst du mir ein Beispiel hier zeigen? Wie das Programm aussehen sollte bzw. was für befehle nötig sind?

Was ich mit dieser Ganzen frage bezwecken möchte ist: Ich habe ja eine Ausbildung abgeschlossen wo ich die Systemadministration und Systemprogrammierung (CL nur) auf der AS/400 gelernt habe. Gelernt habe ich auch dass die AS/400 ihre eigene Datenbank DB2 hat. Nun habe ich keinen Schimmer wie man auf sie zugreift (Per pc oder auf der AS/400 direkt) und wie man Daten auf Ihr Ausliest/schreibt.

Kannst du das für einen Anfänger wie mir erklären? Eventuell könntest du mir noch zusätzlich lektüre über CLE (Was ja auch höher ist oder?) in Form von Links geben?

as400frischling
21-02-11, 17:33
So habe ein wenig Lektüre gelesen.


Habe herausfinden können dass die DB2 irgendwie mittels Tabellen arbeitet.

Währe so ein Befehl richtig bzw. ist dass der Richtige Weg? :

CRTTBL

weidenhammer
21-02-11, 18:07
Währe so ein Befehl richtig bzw. ist dass der Richtige Weg? :

CRTTBL

nein, denn wie in der Hilfe erläutert:


Mit Hilfe des Befehls CRTTBL (Tabelle erstellen) kann eine Tabelle
mit einem Namen erstellt werden. Die Tabelle kann für die Umsetzung
von Daten verwendet werden, die zwischen dem System und einer
Einheit übertragen werden. Außerdem kann die Tabelle dazu verwendet
werden, eine andere Sortierfolge oder Funktionen zur Umsetzung von
Feldern anzugeben.
Eine 'Tabelle' zur Datenhaltung wird mittels CRTPF erstellt.
Alternativ mittels SQL 'create table'.
Alternativ mittels Start Interactive Data Definition Utility.

Aber für alle drei Varianten sollten ein paar Grundlagen worhanden sein.

Gruß

A. M.

Fuerchau
21-02-11, 18:46
Tut mir leid das sagen zu müssen, aber für deine Anforderungen benötigst du eine Programmiersprache.
Mit CL kannst du das leider nicht.

Auf der AS/400 spricht man auch von Dateien (Files).
Diese werden (wie schon gesagt) per CRTPF erstellt. Hierzu brauchst du auch eine sog. DDS-Quelle.

Möchtest du nur Daten ansehen, gehts falls erlaubt auch mittels
STRSQL
SELECT * FROM MYLIB/MYTABLE.

Aber Schulungen führen wir hier im Forum nicht durch.
Ich denke, da fehlt Grundsätzliches.

as400frischling
21-02-11, 18:52
Tut mir leid das sagen zu müssen, aber für deine Anforderungen benötigst du eine Programmiersprache.
Mit CL kannst du das leider nicht.

Auf der AS/400 spricht man auch von Dateien (Files).
Diese werden (wie schon gesagt) per CRTPF erstellt. Hierzu brauchst du auch eine sog. DDS-Quelle.

Möchtest du nur Daten ansehen, gehts falls erlaubt auch mittels
STRSQL
SELECT * FROM MYLIB/MYTABLE.

Aber Schulungen führen wir hier im Forum nicht durch.
Ich denke, da fehlt Grundsätzliches.

Ehmm ich habe nie behauptet ihr sollt mich bitte schulen.

Ich meine ob ihr mir einen Link geben könnt damit ich mir den CLE Programmieraufbau anschaue. Das währe schon eine Programmiersprache oder?

Also ist nicht CLE die erweiterte CL Version? Und mit DDS kenne ich mich aus. Ich weiß wie ich DDS dateien erstelle. Das brauchst mir nicht erklären.

Ich wollte lediglich einen Ansatz haben, wie das funktioniert, über welche Sprache,... usw.


Also um es kurz zu fassen: Ich brauche eine RICHTIGE Programmiersprache wie RPG, C++ oder ähnliches um darauf zuzugreifen? Zählt CLE auch dazu?

Fuerchau
21-02-11, 19:06
Nein, CLLE zählt nicht dazu.
Man kann hier lediglich ein bisschen mehr mit Strukturen, Speicher, Schleifen o.ä. arbeiten.

Beim Dateihandling bleibts beim DCLF und RCVF.

Das Handbuch zu CL gibts hier:
PDF file for Control language (http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/topic/rbam6/rbam6printingme.htm)