-
 Zitat von Fuerchau
Nun kann ich nicht verstehen wieso ODBC bzgl. der SQL's an Grenzen stößt.
Ob du die SQL's per Procedure oder native ausführst macht da keinen Unterschied.
Du hast da halt Performanceprobleme, die eine Prozedur auch nicht auflöst wenn der SQL derselbe ist.
Die einzige Grenze die ich kenne ist die max. Länge des SQL-Strings:
Bei SBCS = 32K, bei Unicode = 16K.
Vielleicht habe ich mich falsch ausgedrückt. Mit "an seine Grenzen" meine ich nicht Leistungsgrenzen, sondern die Fähigkeit, datenbankspezifische Besonderheiten zu akzeptieren.
Beispiel:
select rownumber() over() , table.* from lib.table
Ergebnis:
Fehler in der Liste der Funktionsargumente: "(" wurde nicht erkannt.
Fehler in der Liste der Funktionsargumente: ")" wurde nicht erkannt.
Analysieren von Abfragetext nicht möglich.
Ist klar, liegt an "rownumber() over()" aber anders kann ich halt die Zeilennummer bei DB2 nicht ermitteln. Geht auch nicht, wenn ich eine Sortierung angebe ( rownumber() over(order by field) )
Bei komplexen Abfragen, die diverse JOINs und Unterabfragen beinhalten, verschluckt sich der ODBC-Treiber (oder die Microsoft Data Tools ?) auch. Diese Abfragen teste ich immer mittels STRSQL, dort funktionieren sie.
 Zitat von Fuerchau
Ansonsten gilt für Prozeduraufrufe, dass die Parameter genau zur Definition passen müssen.
Definierst du also CHAR(10), kannst du nicht CHAR(3) übergeben sondern musst mit Leerzeichen auffüllen oder per CAST('001' as char(10)) anpassen.
Besser wäre die Definition per VARCHAR(10), dann geht 0-10 Zeichen.
Noch besser wäre es, wenn du per ODBC mit Parametermarkern und Command-Objekten umgehst.
Wenn ich folgendes aufrufe:
{ call LIB.SP_TEST( ? ) }
kommt die Fehlermeldung:
Fehlerquelle: CWBODBC.DLL
Fehlermeldung: ERROR [HY000] [IBM][SYSTEM i Access ODBC-Treiber]...
Routine SP_TEST in LIB mit angegebenen Parametern nicht gefunden.
Im Prinzip geht es mir auch nur darum:
Wie kann ich per ODBC ( MS Reporting-Service 2016 ) eine SQL-Prozedur ausführen?
Die formale Syntax lautet: { [?=] call LIB.PROC ( [? [, ? ... ]] ) }
https://www.ibm.com/support/knowledg...z_esccall.html
Das führt aber zu der o.a. Fehlermeldung und daher stehe ich quasi auf dem Schlauch...
Similar Threads
-
By whitie59 in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 27-09-17, 11:47
-
By Gutmann in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 04-08-17, 10:32
-
By iseries_user in forum NEWSboard Programmierung
Antworten: 14
Letzter Beitrag: 11-05-16, 10:13
-
By DEVJO in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 16-09-15, 13:14
-
By AnjaS in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 16-01-03, 09:18
Tags for this Thread
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