1. Connie Dove
  2. PowerBuilder
  3. Monday, 6 June 2022 21:36 PM UTC

We have migrated our applications from PB10/12.5 to PB2019R3.  We have a lot of stored procedures being called via the Declare/Execute statements.  When the process gets to the Execute statement it crashes the application.  

We are connecting to MSSQL 2017 using ODBC.  We have ran this with the PBNewSPInvocation='Yes' in the DBParms and without it.    

Here is the DBParm paramenter in our INI file:  DbParm="AppName='CTSABS',PBCatalogOwner='dbo',staticbind=0,CallEscape='Yes',PBNewSPInvocation='YES',StripParmNames='Yes',disablebind=1"

 

Here is the code that we are running.  We have the 

declare ap_CTSfins_billing_invoice procedure for ap_CTSfins_billing_invoice
@start_date = :dt_start,
@end_date = :dt_end
using SQLCA;
execute ap_CTSfins_billing_invoice;

IF SQLCA.SQLCode = -1 THEN
MessageBox("Invoices NOT Processed", "SQLCode -1 trying to Process Invoices ~n~rSQLErrText = " + SQLCA.SQLErrText + "~n~rPlease Notify DESITSupport4U")
Return -1
END IF

close ap_CTSfins_billing_invoice;

 

Using debugging it gets to the execute and kicks off the procedure (we can see it kick off in SQL Profiler) and then the application closes, it never gets to the if statement or to the close if we remove the if.  

This procedure does not return anything, it just executes to create new records in some tables.  

 

In the event viewer I see these errors.

The program PB190.exe version 19.2.0.2728 stopped interacting with Windows and was closed. To see if more information about the problem is available, check the problem history in the Security and Maintenance control panel.
Process ID: 37e8
Start Time: 01d879dc469ae259
Termination Time: 13
Application Path: C:\Program Files (x86)\Appeon\PowerBuilder 19.0\PB190.exe
Report Id: c15cf981-b024-4ac0-9955-02931f4224da
Faulting package full name:
Faulting package-relative application ID:
Hang type: Unknown

 

Faulting application name: ctsbilling.exe, version: 1.0.0.1, time stamp: 0x6100e416
Faulting module name: PBSHR.dll, version: 19.2.0.2728, time stamp: 0x6100e41c
Exception code: 0xc0000005
Fault offset: 0x001475db
Faulting process id: 0xc98
Faulting application start time: 0x01d879e688542466
Faulting application path: P:\ctsbilling.exe
Faulting module path: P:\PBSHR.dll
Report Id: 39fe7beb-68c1-48a7-ae56-41b3a8ee8bfd
Faulting package full name:
Faulting package-relative application ID:

 

I have a PB.INI file set in the executable location with the accessibility setting set.  

 

 

 

 

John Fauss Accepted Answer Pending Moderation
  1. Tuesday, 7 June 2022 17:59 PM UTC
  2. PowerBuilder
  3. # 1

The 32-bit and 64-bit MSOLEDBSQL drivers are downloaded from Microsoft here:

   https://docs.microsoft.com/en-us/sql/connect/oledb/download-oledb-driver-for-sql-server?view=sql-server-ver16

Once installed, the corresponding PB database interface used by setting SQLCA.DBMS = "MSO".  Connection options and documentation for PB 2019 R3 here:

   https://docs.appeon.com/pb2019r3/connecting_to_your_database/ch03s04.html

The ODBC driver for SQL Server is now on version 18. the 32-bit and 64-bit drivers can be downloaded here:

   https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16

 

Comment
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Tuesday, 7 June 2022 04:04 AM UTC
  2. PowerBuilder
  3. # 2

Hi, Connie - 

Are you using the same ODBC driver for SQL Server that was used with the earlier version of the app? What version are you using? Is it the latest available version? If not, I suggest trying a newer/latest version.

Do you have a small test case/app that exhibits the same symptoms? If so, can you switch the test app to use the MSOLESQLDB driver that became available in PB 2019 R3 to see if that makes a difference?

I know you presented us with your SQLCA.DBParm setting. What are the other SQLCA property values that are in use?

These are the steps I would take if I were trouble-shooting this issue.

Regards, John

Comment
  1. Connie Dove
  2. Tuesday, 7 June 2022 16:43 PM UTC
Here is our entire INI info

; Application initialization file for BILLING

[COMMON]

Application=Agency Billing System (ABS) - WaTech

AutoCommit=True



[DataBase]

Serverlist=TEST

DEFAULTSERVER=TEST

DbParm="AppName='CTSABS',PBCatalogOwner='dbo',staticbind=0,CallEscape='Yes',StripParmNames='Yes',disablebind=1"



[TEST]

DBMS=ODBC

ServerName=edesdboly9501.des.wa.lcl

Database=ctsbilling_db

ConnectString=CTSABSQA2017

;Security="SQL_INTEGRATED_SECURITY,SQL_IS_ON"

;CallEscape=No

DisableBind=1

StaticBind=0





We are using the SQL Server 10.00.19041.01 driver for ODBC connections



Where should I pull the MSOLESQLDB to test? Do I just download it from Microsoft?
  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.