1. Charlie Cummins
  2. PowerBuilder
  3. Monday, 13 April 2020 16:07 PM UTC

Hi everyone,

We are migrating Windows 10 PB 2017 R3 Applications with a heavy stored procedure back-end from ASE and to MS SQL Server.  I have done some preliminary work and the easiest seems to be ADO.NET for compiling the Declares.

I was curious about what the general PB community would recommend for Database Drivers to run PB applications against MS SQL Server 2017.

Thank you.

 

Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Monday, 13 April 2020 23:49 PM UTC
  2. PowerBuilder
  3. # 1

This is a tough question. 

Most customers use the SQL Server native client; however, they made this decision years ago.  Considering Microsoft has discontinued the native client, its not clear that going with native client for a new project such as yours is prudent. 

The issue with ADO.NET is the install/config for each desktop user is a hassle.  Of course, if you have other .NET desktop that require this then there is no additional hassles. 

Another thing to consider is what is your future plans for your app?  Do you plan to use the .NET DataStore and/or convert existing business logic to REST APIs?  The .NET DataStore uses ADO.NET to interface with SQL Server so you might simplify development by standardizing on ADO.NET for both your client and server-side code.

We are working on a "new" MSOLEDBSQL driver interface for SQL Server as migration path for existing users of the native client, but it won't be available until the next version.  So given the timing of your project, this may not be an option.  But anyway, wanted to throw this out there.

Comment
  1. Charlie Cummins
  2. Tuesday, 14 April 2020 21:09 PM UTC
Armeen, I was surprised at that error too. Being new to ADO.NET, I was not sure what to expect. Let me look into that in more detail.
  1. Helpful
  1. Charlie Cummins
  2. Wednesday, 15 April 2020 14:15 PM UTC
Armeen, the JavaVM was a bug I fixed that. Now I am getting this error message "Sybase.PowerBuilder.Db, Version=17.0.0.0, Culture=neutral, PublicKeyToken=98a699138181d746 was not found."; I found a related issue in the community on this, they said to add "Sybase.PowerBuilder.DataSource.Sharing.dll". I tried that but same error. I believe the client machines have adodb.dll installed but not .NET Framework. Maybe that is the problem?
  1. Helpful
  1. Armeen Mazda @Appeon
  2. Wednesday, 15 April 2020 16:25 PM UTC
Are you using System.Data.OleDb or System.Data.SqlClient for SQL Server? I'm pretty sure .NET framework has to be installed. As I mentioned, getting ADO.NET configured properly on desktops is a hassle. Seems you guys are not using ADO.NET for your other desktop apps, so maybe you should consider some other driver interface until we support MSOLEDBSQL. If you don't think ODBC is good solution for your project needs, you might want to try Mike's suggestion about OLEDB that is still preintsalled on Windows OS.
  1. Helpful
There are no comments made yet.
Olan Knight Accepted Answer Pending Moderation
  1. Tuesday, 14 April 2020 20:49 PM UTC
  2. PowerBuilder
  3. # 2

Charlie -

   Unless your requirements include a truly VAST amount of database interaction, there's no reason not to use ODBC until the MSOLEDBSQL driver from Appeon becomes available. ODBC is simple and effective, well tested, and works perfectly well, and is free.


Later -

Olan

Comment
  1. Miguel Leeuwe
  2. Tuesday, 14 April 2020 21:01 PM UTC
Whichever driver you use, don't use the MSOLEDBSQL (until Appeon finishes the new one)..

There's another recent post on this forum of people having problems with for example passing a datetime which includes milliseconds to stored procedures. The SQLOLEDB driver does seem to work however. I'd go with ODBC too or JDBC. (personally we use a Tibero DB and have to use 2 transaction objects: ODBC allows us to use asynchronous SQL and the JDBC allows us to call stored procedures with lots of parameters and output parameters. ODBC is supposed to be a standard, but we all know that that is just about "what" you can do and not "how" to do it. Anyway, SqlServer is a different DB and I suppose well tested through the years for Powerbuilder usage.

regards
  1. Helpful
There are no comments made yet.
mike S Accepted Answer Pending Moderation
  1. Wednesday, 15 April 2020 00:13 AM UTC
  2. PowerBuilder
  3. # 3

why not use OLEDB?  it is preinstalled on windows still. 

it won't have all the newest sql server features, but if you aren't using them it then oledb might be easier now and going to the newer version in 2019R3

Comment
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.