I assume you are using System Naming conventions in STRSQL (which is the
default) and SQL Naming conventions when accessing through ODBC (which is
also the default).
With SQL naming conventions the library list is not searched to find the
unqualified specified database object in the SQL Statement.
Instead the tables, views and indexes are searched in the Default or Current
Schema. If the default/current schema is not set it searches the database
objects in a schema with the same name of the user profile.
User defined (table) functions and Stored procedures are not searched in the
default schema, but in the current path which must be set separately. In the
SQL path multiple schemas can be listed (much like in a library list) and
even the special value *LIBL is allowed.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
?Train people well enough so they can leave, treat them well enough so they
don't want to.? (Richard Branson)
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of John
Yeung
Sent: Freitag, 11. Februar 2022 06:54
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>;
IBMi Open Source Roundtable <opensource@xxxxxxxxxxxxxxxxxx>
Subject: UDF works in STRSQL but not over ODBC using Python
We have an RPG program wrapped by a UDF. This function works from STRSQL,
but not in Python via ODBC. The error I'm getting is
SQL0204 - MY_FUNCTION_NAME in *LIBL type *N not found.
I checked the library of the function using the SYSFUNCS view and added that
library to my ODBC connection's library list (using the ADDLIBLE command via
itoolkit on the same connection, if that matters) and I still get the same
error message.
Anyone know what is going on and how I can get it to work from Python?
I'm happy to provide more details if you tell me what information will help.
John Y.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.