-
ODBC iSeries und logische Dateien...
Hallo zusammen!
Gibt es über CLI/ODBC eine Möglichkeit herauszufinden,
zu welcher physischen Datei eine logische Datei gehört?
D.h. irgendein treiberspezifisches Attribut einer
SQLxxx-Funktion, wo der iSeries Access ODBC-Driver
diese Information hineinstellt?
(Also z.B. die Information "Basiert auf Datei" bei DSPFD)
Im "iSeries Access for Windows:Programming"-PDF
konnte ich auf die Schnelle nichts Entsprechendes finden
(vielleicht liegt's ja auch an meiner Suchweise...).
Danke für Infos+Tipps
lg
Chris
-
Es gibt nur den Weg von PF zur LF, nicht umgedreht.
Für eine PF kann man per CLI-SQLStatistics() die zugehörigen LF's abfragen.
Index-Schemainformationen liefern keine LF's, wenn sie nicht per SQL mit CREATE INDEX erstellt wurden.
Ansonste ist aus ODBC-Sicht eine LF eben eine Tabelle, an der selber leider keine LF's hängen können. Deshalb gibts da per ODBC/CLI keine Informationsmöglichkeiten.
Der Zugriff auf eine LF als TABLE ist eben AS/400-spezifisch.
-
Alles klar!
Danke f.d. Info!
Den Weg PF -> LF verwenden wir bereits, müssen die
Sache also offensichtlich andersrum angehen.
lg
Chris
-
Mal ne Frage, für was brauchst du denn die LF-Infos, wenn SQL die LF's nur zur Optimierung benötigt ?
-
select view_name, tyble_name
from mySchema.sysviewdep
where view_name myView
oder halt QSYS2 für alle, dann mus man schema_name noch mit abfragen
D*B
könnte hier weiterhelfen
 Zitat von caltmann
Hallo zusammen!
Gibt es über CLI/ODBC eine Möglichkeit herauszufinden,
zu welcher physischen Datei eine logische Datei gehört?
D.h. irgendein treiberspezifisches Attribut einer
SQLxxx-Funktion, wo der iSeries Access ODBC-Driver
diese Information hineinstellt?
(Also z.B. die Information "Basiert auf Datei" bei DSPFD)
Im "iSeries Access for Windows:Programming"-PDF
konnte ich auf die Schnelle nichts Entsprechendes finden
(vielleicht liegt's ja auch an meiner Suchweise...).
Danke für Infos+Tipps
lg
Chris
-
Mit DSPFD kann man auch abfragen, welche PF's zu einer LF gehören.
-
Danke für die Tipps!
Das mit sysviewdep klappt in der Form leider nicht.
Ich nehme an, es liegt daran, dass es "echte" logische
Dateien sind, die nicht mittels SQL angelegt wurden.
@Fuerchau:
Wir brauchen das in dieser Form, da zum Kompilationszeitpunkt
die Datei noch nicht feststeht. Es kann zur Laufzeit also
durchaus sein, dass eine logische Datei
(durch Anwender ausgewählt) verarbeitet werden muss.
lg
Chris
-
Das kann man aber verhinderen, da Schema-Informationen SQLTables() diese LF als VIEW ausweisen.
Man kann also durchaus die Auswahl von VIEWS verhindern.
Andererseits ist eine LF eben genau wie eine PF zu behandeln.
-
dann könnte man immer noch in dem QAD* Geraffel in der QSYS rumstochern, da müsste das drin stehen, ist aber nicht unbedingt Release fest. Wenn man ein ordentliches Change Management hat, könnte man die Info auch nach Erstellung von logischen Dateien automatisiert abstellen.
Was die Anforderung betrifft, das sieht doch danach aus, dass in Wirklichkeit eine Sortierung ausgewählt wird, das geht dann aber mit einem dynamisch erzeugten SQL Statement mit der entsprechenden order by Klausel wesentlich eleganter - und das ist auch für den Anwender dann durchschaubarer und flexibler.
D*B
 Zitat von caltmann
Danke für die Tipps!
Das mit sysviewdep klappt in der Form leider nicht.
Ich nehme an, es liegt daran, dass es "echte" logische
Dateien sind, die nicht mittels SQL angelegt wurden.
@Fuerchau:
Wir brauchen das in dieser Form, da zum Kompilationszeitpunkt
die Datei noch nicht feststeht. Es kann zur Laufzeit also
durchaus sein, dass eine logische Datei
(durch Anwender ausgewählt) verarbeitet werden muss.
lg
Chris
-
Seit Einführung der QSYS2/SYSxxx stehen die QSYS/QAD* meist auf *PUBLIC *EXCLUDE, so dass man da nicht mehr so einfach wie früher (vor V4R3) drankommt.
Aber das ist dann nicht mehr DB-neutral.
-
..das mit dem SQL ORDER BY ist ohnehin schon angedacht,
erfolgt aber sicher erst in einer späteren Phase,
bzw. können wird das nach auslesen der SQLStatistics
der physischen Datei dann ohnehin leicht realisieren,
im Moment sollen gewisse Programmteile einfach
1:1 übernommen werden,
um die Anwender so wenig wie möglich zu verwirren.
(Parallelbetrieb iSeries / Windows soll möglich sein)
Danke + lg
Chris
-
dann ist die SYSKEYS dein Freund, die PF muss der RLA Schinken kennen (irgendwo muss der ja rein lesen) und aus der SYSKEYS kann man sich dann unmittelbar den ORDER BY zusammensetzen.
D*B
 Zitat von caltmann
..das mit dem SQL ORDER BY ist ohnehin schon angedacht,
erfolgt aber sicher erst in einer späteren Phase,
bzw. können wird das nach auslesen der SQLStatistics
der physischen Datei dann ohnehin leicht realisieren,
im Moment sollen gewisse Programmteile einfach
1:1 übernommen werden,
um die Anwender so wenig wie möglich zu verwirren.
(Parallelbetrieb iSeries / Windows soll möglich sein)
Danke + lg
Chris
Similar Threads
-
By Kilianski in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 15-02-06, 09:19
-
By rcauchy in forum NEWSboard Windows
Antworten: 1
Letzter Beitrag: 23-06-05, 13:28
-
By Rico in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 21-03-05, 09:43
-
By Unregistriert in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 14-01-05, 08:57
-
By COMCON in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 09-12-04, 15:24
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