-
Mit OVRDBF sagtst du dem Programm welche Datei er tatsächlich benutzen soll.
Du veränderst also keine Daten sondern nur den Zugriff.
Beispiel: Du hast zwei Dateien die vom Aufbau gleich (also feldname und länge) sind aber in unterschiedlichen Bibliotheken stehen bzw. unterschiedlich heißen.
Mit OVRDBF sagst du dem Programm welche Datei er benutzen soll. Damit kannst du je nach Anforderung einmal die eine Datei, ein andermal die andere Datei verwenden.
Ein anderes Beispiel wäre in einem mehrmember Konzept. Wie soll das Programm wissen, welches Member gelesen werden soll. Auch hier bestimmst du durch OVRDBF vor dem Programmaufruf welches Member verarbeitet werden soll.
Gruß
DVE
-
ok,
so würde es klappen!!
Aber in java klappt es noch nicht.....
ich benutze die jt400.jar von
http://jt400.sourceforge.net
um auf die as400 zuzugreifen.
Ich muss alle Teildateien der Art DSPF(DisplayFile) einlesen und dann verarbeiten....
Ich bekomme aber immer nur die 1. teildatei.
    
-
@chrissi
habe einen Kollegen gefragt. Sein Stand ist OVRDBF und dann in Java SELECT *FROM Table...
Sollte hier eine andere Antwort auftauchen, wäre er ebenfalls interessiert.
Gruß
DVE
-
Ich denke das Problem ist, sobald ich mich bei der iseries neu einlogge, ist das OVRDBF nicht mehr aktiv!!
Und wenn ich mit java auf die iseries zugreif baue ich ja eine neue sitzung auf und das OVRDBF ist nicht mehr aktiv.
Also müsste ich irgendwie mit java nen iseries befehl ausführen können...
blos wie?
-
hmm,
ich hab etz mal auf der as400 den OVRDBF mit *ALL ausgeführt....
Aber wie ruf ich jetzt die Teildateien mit sql auf?
Wenn ich jetzt SELECT * FROM Tabelle mach kommt immer der Fehler:
*ALL der Art *MEM in *N nicht gefunden.
 
-
Jetzt kann die Javafraktion loslegen.
Deine Vermutung ist richtig. Sobald die Sitzung weg ist, ist der OVRDBF ebenfalls weg.
Du könntest z.B. in SQL eine Stored Procedure definieren die den OVRDBF ausführt und dann dein SQL.
Allerdings bin ich in diesen Dingen nicht gut genug.
Gruß
DVE
-
Mittels CREATE ALIAS kannst du eine LF für SQL erstellen, die genau auf 1 Teildatei geht.
OVRDBF aus Java geht nur, wenn du dies aus der SQL-Verbindung z.B. mit CALL QCMDEXC machst.
Prozedur/Programmaufrufe aus SQL sind hier schon mehrfach beschrieben.
Um alle Teildateien per SQL als 1 Tabelle zu bearbeiten kannst du einen CRTLF machen, der alle Teildateien beinhaltet. Allerdings darfst du dann keinen UNIQUE-Key haben, da dieser Teildateiübergreifend ist.
Wenn eine Teildatei hinzukommt ist der CRTLF zu wiederholen, automatisch passiert da nichts.
Um die Teildateien aus Java festzustellen kannst du per DSPFD ... OUTFILE über QDCMDEXC eine Liste erstellen um anschließend den OVRDBF je Teildatei (vor dem Select) durchzuführen.
-
hmmm....
also irgendwie funtkioniert des mit dem OVRDBF nicht so ganz...
Code:
StringBuffer sql2 = new StringBuffer("CALL QTEMP.QCMDEXC('OVRDBF FILE(Datei) MBR(name der Teildatei)', Länge)");
try {
stm.execute(sql2.toString());
} catch (Exception e) {
e.printStackTrace();
}
StringBuffer sql3 = new StringBuffer("SELECT * FROM Datei");
ResultSet rs1 = stm.executeQuery(sql3.toString());
while(rs1.next())
{
System.out.println(rs1.getString(3));
}
Er schreibt mir aber immer noch in den Inhalt von der *FIRST Teildatei hin....
Kann es sein das das OVRDBF mit java nicht funktioniert?
mfg
chrisssiie
-
Hallo Chrissie
Schreib als Name der Teildatei *ALL.
Laut Beschreibung des OVRDBF Befehl sollte es funktionieren.
PHP-Code:
*ALL
[B]Alle Teildateien der aktuellen Datei werden sequentiell
verarbeitet.[/B] Die Überschreibungsparameter für die erste
Teildatei gelten auch bei der Eröffnung aller folgenden
Teildateien. Während Überschreibungen, die vor Eröffnung der
ersten Teildatei ausgegeben wurden, verarbeitet werden, werden
nach Eröffnung der ersten Teildatei ausgegebene Befehle zum
Überschreiben oder Löschen von Überschreibungen nicht
berücksichtigt. Die Parameter EOFDLY, FMTSLR, INHWRT und
POSITION können nicht angegeben werden, wenn MBR(*ALL) in einem
zuvor abgesetzten Befehl OVRDBF angegeben wurde und der Befehl
für diese Datei noch wirksam ist. Falls Parameter angegeben
werden, die sich gegenseitig ausschließen, wird eine
Abbruchnachricht gesendet.
Gruß
DVE
-
@DVE
Wenn man mit OVRDBF den Parameter MBR auf *ALL setzt, dann kann man über SQL nicht auf die Datei zugreifen. Das klappt dann nur über Record Level Access.
@chrisssiie
Du könntest testweise noch einmal versuchen beim OVRDBF den Parameter OVRSCOPE auf *JOB zu setzen. Eventuell gibt es Probleme mit der Aufrufebene.
Frank Hildebrandt
-
@Frank Hildebrandt
danke, das mit OVRSCOPE(*JOB) hat funktioniert 
Jetzt hab ich nur noch ein problem *grins*
wie krieg ich alle DSPF(Displayfiles), die Teildateien sind raus?
Gibt es da irgendwas wie ich die Art der Teildatei Abfragen kann?
-
Hiermit kannst Du Dir eine Datei erzeugen, die die gewünschten Informationen enthält. Im Feld MLSEU2 befindet sich z.B. die Teildateiart, also z.B. DSPF.
DSPFD FILE(QGPL/QDDSSRC) TYPE(*MBRLIST) OUTPUT(*OUTFILE) OUTFILE(QTEMP/MYMBR)
Frank Hildebrandt
Similar Threads
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By Nennewitz in forum NEWSboard Programmierung
Antworten: 16
Letzter Beitrag: 28-06-06, 13:49
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By apparat in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 18-09-05, 08:25
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