× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



no, types weren't the problem...

this didn't work...though the documentation seems to say it should...

DB2Command cmd = conn.CreateCommand();
String procCall = "CALL EIS.PRINT_HARDCARDS (@enterprise,
@company, @ro_number)";
cmd.CommandType = CommandType.Text;
cmd.CommandText = procCall;

// Register input-output and output parameters for the
DB2Command
cmd.Parameters.Add(new DB2Parameter("@enterprise", "DQAB"));
cmd.Parameters.Add(new DB2Parameter("@company", "BH1"));
cmd.Parameters.Add(new DB2Parameter("@ro_number", " 6045628"));


But this did
DB2Command cmd = conn.CreateCommand();
String procCall = "CALL EIS.PRINT_HARDCARDS
(enterprise=>@enterprise, company=>@company, ro_number=>@ro_number)";
cmd.CommandType = CommandType.Text;
cmd.CommandText = procCall;

// Register input-output and output parameters for the
DB2Command
cmd.Parameters.Add(new DB2Parameter("@enterprise", "DQAB"));
cmd.Parameters.Add(new DB2Parameter("@company", "BH1"));
cmd.Parameters.Add(new DB2Parameter("@ro_number", " 6045628"));


I'm going to play around more with it...

Charles




On Fri, May 18, 2018 at 3:00 PM, Hiebert, Chris <
chris.hiebert@xxxxxxxxxxxxxx> wrote:

This might be an issue with type.

If the prepare statement is being provided as a string, then the query may
also need you to specify types.
This is so the engine can match the interface to the one you are expecting.

"CALL MYLIB.MYSP( CAST( ? AS CHAR(10)), CAST( ? AS DEC(3,0)), CAST( ? AS
VARCHAR(1024)) )"


Chris Hiebert
Senior Programmer/Analyst
Disclaimer: Any views or opinions presented are solely those of the author
and do not necessarily represent those of the company.


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
Charles Wilt
Sent: Tuesday, May 15, 2018 11:36 AM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: Calling Db2 for i stored proc with Named parameters from C# using
Db2 connect .NET driver

All,

Has anybody got a exmaple of calling a Db2 for i stored procedure with
named parameters from a C# app using the Db2 connect .NET driver?

We've tried a few ways, but we keep seeing a Sqlstate => 42884 - No routine
was found with the specified name and compatible arguments.

with a performance monitor running, I can see that the "PREPARE" call is
being done without using parameter names.
PREPARE "CALL MYLIB.MYSP(?,?,?)

instead of
PREPARE "CALL MYLIB.MYSP(p1=>?,p2=>?,p3=>?)"

I'm not the .NET guy having the issue, I'm the guy that wrote the SP and is
trying to help. :)

Thanks!
Charles
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.