Hallo,

hat jemand von Euch Erfahrungen mit dem Einsatz von ODBC und SQL-Prozeduren? Einfache SQL-Abfragen ( select a,b,c from table ) sind kein Problem, aber wenn ich etwas komplexere Anfragen z.B. mit einem OUTER JOIN erstelle, dann kommt der ODBC-Treiber an seine Grenzen.

Ich wollte das durch den Einsatz von SQL-Prozeduren umgehen, denn die können ja auch problemlos Resultsets zurückliefern. Beim Aufruf von SQL-Prozeduren erhalte ich grundsätzlich SQL-Fehler wie:

ERROR [HY000] [IBM][System i Access ODBC-Treiber][DB2 für i5/OS]SQL0440 - Routine SP_TEST in LIB mit angegebenen Parametern nicht gefunden.

ODBC-Text: { call LIB.SP_TEST( '001' ) }

Die Prozedur heißt "LIB.SP_TEST" und sieht so aus (und kann über STRSQL aufgerufen werden):

create or replace procedure lib.sp_test( in v_mandant char(10))
language SQL resultsets:
begin
declare v_count int;
declare v_cursor cursor with return to client for
select *
from lib.journal
where mandant=v_mandant;

open v_cursor;
return;
end


Meine Konstellation: MS-Reporting Server (2016), Client SSDT, Zugriff per ODBC auf AS/400

Tabellen kann ich aus der Bibliothek verwenden, somit kann es eigentlich kein Berechtigungsproblem oder Zugriffsproblem mit der Bibliothek sein.

Vielen Dank im Voraus

Michael