1. Chris Lerwill
  2. PowerBuilder
  3. Wednesday, 13 March 2024 15:51 PM UTC

QUESTION:  With the recent PowerBuilder 2022 R2 update of ADO.NET, is PowerBuilder now enforcing rules that were not previously enforced?

 

What is described below WAS NOT a problem with PowerBuilder 2022 R1...but with the release of PowerBuilder 2022 R2, I am seeing some errors in a deployed application like what is shown below (Procedure or function '' expects parameter...which was not supplied.)

 

 

I have determined that the issue is experienced by datawindows having a data source argument named "prefix" as seen below.

 

The fix for this problem is to go into the source of a datawindow and change the name of the argument to something other than "prefix".

EDIT:  The fix for this problem is to go into the source of a datawindow and change the name of the argument to MATCH the name of the stored procedure parameter.

 

Some additional information...

  • this application IS using the ADO.NET database driver (has been for years)
  • the target machine has .NET 6 Desktop Runtime installed
  • building the application using PowerBuilder 2022 R3 does not change the behavior
  • database is SQL Server (I think 2012 but might be 2016)

 

 

I appreciate any and all input.

Chris Lerwill Accepted Answer Pending Moderation
  1. Monday, 18 March 2024 14:27 PM UTC
  2. PowerBuilder
  3. # 1

Thanks for the response Angie Liu@Appeon ...and for looking into this.  I created Bug 11759 on March 14th in the afternoon (Mountain Time).

 

If I understand your last comment, I believe most of the DataWindows in our code employ the "Syntax 2" approach.  I am not aware of any instances in our code that have the underscore "_" character in the argument name...but, it is good to know that may have some influence on the behavior.

Comment
There are no comments made yet.
Angie Liu@Appeon Accepted Answer Pending Moderation
  1. Thursday, 14 March 2024 05:20 AM UTC
  2. PowerBuilder
  3. # 2

Hi Chris,

 

I'm glad you found a workaround solution.

 

In PB2022 R2, we upgraded the entire ADO driver, replacing the original .NET Framework drivers with .NET Core 6.0. The modifications to both drivers were extensive, and although we conducted extensive testing, we regret that some issues may have been overlooked.

 

We will try to reproduce this problem based on your description. To facilitate tracking and resolving this issue, I suggest you submit a ticket, if possible, along with your small test case.

 

Thank you.

 

Regards,

Angie

Comment
  1. Angie Liu@Appeon
  2. Thursday, 14 March 2024 09:24 AM UTC
Hi Chris,



We’ve reproduced the issue you described. We reproduced in the following two scenarios. Please confirm if you match either of the two.



DataWindow source syntax snippets:

Syntax 1:

PB2022 R2 doesn’t report an error

procedure="1 execute dbo.CRbug_Pro_parName_Incorrect;1 :int_test, :bint_test,:bit_test" arguments=(("int_test", number),("bint_test", decimal),("bit_test", number)) )

PB2022 R2 reports an error

procedure="1 execute dbo.CRbug_Pro_parName_Incorrect;1 :inttest, :bint_test,:bit_test" arguments=(("inttest", number),("bint_test", decimal),("bit_test", number)) )



Syntax 2:

PB2022 R2 doesn’t report an error

procedure="1 execute dbo.CRbug_Pro_parName_Incorrect;1 @int_test = :int_test, @bint_test = :bint_test, @bit_test = :bit_test" arguments=(("int_test", number),("bint_test", decimal),("bit_test", number)) )

PB2022 R2 reports an error

procedure="1 execute dbo.CRbug_Pro_parName_Incorrect;1 @int_test = :inttest, @bint_test = :bint_test, @bit_test = :bit_test" arguments=(("inttest", number),("bint_test", decimal),("bit_test", number)) )



To better track the issue and timely update you, please submit a ticket at https://www.appeon.com/standardsupport/newbug. Once the fix is available, we will promptly update you.



Regards

Angie

  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.