1. Tony Fahlberg
  2. PowerBuilder
  3. Saturday, 4 December 2021 19:30 PM UTC

Hi - We are migrating our application from the old "ole db" provider for MSSQL Server to PowerBuilder 2021 and the "msoledbsql" provider.  I am having issues when using PROCEDURE FOR executions where we did not specify the schema/prefix of the procedure in the declaration when using a non-sysadmin user to connect to the database.

DECLARE last_enctr_proc PROCEDURE FOR r_sp_last_encounter (vs.)

DECLARE last_enctr_proc PROCEDURE FOR dbo.r_sp_last_encounter

The database user (copathusr) I am using has been assigned dbo_owner role with default schema of dbo.  When looking at the SQL Server Profiler I can see PowerBuilder attempting to get the procedure parameters using the following call but passing in the login user for the PROCEDURE_SCHEMA which returns no records and later causes the procedure call to fail.

exec [copathsql].[sys].sp_procedure_params_100_rowset N'r_sp_last_encounter',1,N'copathusr',NULL

When using a sysadmin user to connect to the database I observe the following in the SQL Server Profiler and the procedure call works as expected.

exec [copathsql].[sys].sp_procedure_params_100_rowset N'r_sp_last_encounter',1,N'dbo',NULL

We have hundreds of places we use PROCEDURE FOR declarations that would need to specify the schema to use (prepend dbo).  Is there a DBParam or configuration I can use on the MSOLEDBSQL connection to set the default schema/prefix that PowerBuilder will use (something like PBCatalogOwner)? 

 

Thanks,

Tony



There are no replies made for this question yet.
However, you are not allowed to reply to this question.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies.