-
Dann must du der anderen Fraktion ein Mapping der Spalten LongName zu Systemnamen bereitstellen, denn die SQL's müssen ja direkt so aufgebaut werden.
Namen (Feldnamen, Tabellennamen) sind nicht als Parameter erlaubt.
D.h., derjenige, der den SQL bastelt, benötigt die korrekten Feldnamen um dieses tun zu können.
Das ist übrigens ein häufiges Problem von Microsoftprodukten (wie PowerQuery/Power-BI), die nur ihre eckigen Klammern für Feldnamen kennen und von SQL-Standard nichts wissen wollen.
Alternativ musst du halt eine View erstellen, die Namen nur in Großbuchstaben bereitstellt, also BERICHTSJAHR statt "Berichtsjahr". Diese dürfen dann auch länger als 10 Stellen sein.
Bei z.B. PowerBI kann man dann irgendwo auf erweitert klicken und den SQL native direkt eingeben.
Notfalls kann man auch einen SQL-Server mit Views auf einen Linked-Server nach der Methode:
select * from OpenQuery(MyAs400, "Select * from Mylib.MyTable")
bereitstellen.
PS:
Und "SELECT BERIC00001 FROM syscolumns" geht alleine schon deshalb nicht, weil BERIC00001 kein Spaltenname von syscolumns ist.
-
Danke - Wird wohl auf eine View hinauslaufen...
Vorher probieren wir noch was anderes - evtl. ist beim Zugriff auf die i5 die QSYS2 nicht in der LIBL, wir haben die SYSCOLUMNS mal in der LIB, die in jedem fall im Zugriff ist erstellt.
Das SELECT BERIC00001 FROM SYSCOLUMS als SUBSELECT wie o.a. angeführt funktioniert....
Nur beim substituieren mit SYSTEM_COLUMN_NAME eben nicht....
Danke erstmal, wenn wir nicht weiterkommen, melde ich mich nochmal.
-
Dann zeige mir mal den Spaltennamen BERIC00001 in der Tabelle SYSCOLUMNS:
https://www.ibm.com/docs/en/i/7.2?to...ews-syscolumns
Ein Select 'BERIC00001' from SYSCOLUMNS liefert dir die Konstante.
Was ich hier eher vermute ist, dass du einen Fehler bekommst: "Variable BERIC00001 nicht gefunden", da SQL immer davon ausgeht, dass bei unbekannten Namen in den Tabellen dann eine SQL-Variable mit dem Namen vorhanden sein muss, dessen Inhalt dann ausgelesen wird.
Die SYSCOLUMNS wird i.Ü. bei Schemaabfragen via SQL automatisch verwendet.
Wenn du einen SQL CREATE COLLECTION erstellst, erhälst du verschiedene SYS-Views in deiner LIB mit eingeschänkter Sicht auf diese Lib. Also auch eine SYSCOLUMNS-View.
Similar Threads
-
By camouflage in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 08-04-20, 13:33
-
By woodstock99 in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 07-11-19, 12:58
-
By a.wojcik in forum NEWSboard Programmierung
Antworten: 15
Letzter Beitrag: 29-07-16, 13:49
-
By KingofKning in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 01-06-16, 20:20
-
By AK1 in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 08-07-15, 13: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