0

I have inherited a legacy system written in PowerBuilder which connects to an SQL Anywhere 5.5 database via ODBC. The Sybase drivers are not 64-Bit compatible so this system is throwing errors and there are no updated drivers available. I do not currently have the budget to update the database to a current version of SQL Anywhere (which requires a /seat license) and I'm under the gun to get the system working on a 64-Bit PC.

Advice, please! Is MS SQL Express a good option?

Thanks in advance.

user3850146
  • 97
  • 1
  • 11
  • A 32-bit PowerBuilder app would be looking for 32-bit ODBC drivers, I'd expect. Exactly what messages are you getting from where? – Terry Aug 11 '14 at 20:26
  • Are you certain that you've installed the SQL Anywhere 32-bit drivers? (IIRC, I don't think that happens by default on 64-bit OSes.) – Terry Aug 11 '14 at 20:35
  • 1
    The PowerBuilder app does not have any issues in a 64-Bit environment; it is strictly the SQL Anywhere driver rtdsk50.exe which is not 64-Bit compatible. – user3850146 Aug 11 '14 at 20:55
  • Right. 5.5 might even be incompatible with newer operating systems, 32-bit or 64-bit. Have you costed a DBMS upgrade? SQL Anywhere tends to be more affordable than you'd expect if you've been in databases a while. It might be better than throwing effort at something that may or may not work. (Your boss puts a dollar value on your time, right? ... if he's a pointy-haired boss, don't answer that question.) – Terry Aug 11 '14 at 21:13
  • Okay, let me attack this from another direction. Yes, the old SQL Anywhere engine is not 64-bit compatible; however, the PB app isn't 64-bit so it doesn't need to be 64-bit compatible. Shouldn't I be able to install and run it on a 64-bit O/S as long as I install it in the Program Files (x86) folder? – user3850146 Aug 14 '14 at 18:02
  • If Roland is right (and what he's saying is ringing bells for me) and the engine you're referring to is 16-bit, then there's no way you're going to get this working on any current OS, 32- or 64-bit, as I don't believe any current OS supports 16-bit executables. Sorry. – Terry Aug 14 '14 at 22:10

2 Answers2

3

PowerBuilder is a 32-bit application even when run on a 64-bit OS. You will need the 32-bit version of whatever DBMS you decide on. I think that SQL Anywhere might be 16-bit, it is that old.

I think you'll find MS SQL Express very similar. One main issue is the default database owner. SQL Anywhere is normally dba while SQL Express is dbo.

Roland Smith
  • 957
  • 4
  • 7
0

SQL Server Express is a reasonable choice for what I can get from your described needs. IMHO, any RDBMS supporting 64-bit might be a reasonable choice as long as you take over the data migration toward this RDBMS.

The most crucial part, according to me, is the migration from a RDBMS to another. You'll have to make sure to replicate every exact details (tables, views, stored procedures, functions, etc.)

Another fact that makes me believe that SQL Server Express is a good choice is that they both are TSQL. A historic fact is that Microsoft has bought Sybase ASE to start their own RDBMS now known as SQL Server.

PowerBuilder shall see no difference between the RDBMS since it accesses the underlying database through ODBC. All you need is make sure your workstation has ODBC supporting 64-bit.

Will Marcouiller
  • 23,773
  • 22
  • 96
  • 162
  • 2
    "PowerBuilder shall see no difference between the RDBMS since it accesses the underlying database through ODBC." ... unless features (like SQL functions) that are SQL Anywhere-specific are used. T-SQL compatibility has been added to SQL Anywhere, but you're depending on two complete disparate implementations of T-SQL. (SQL Anywhere was a DBMS engine bought by Sybase, so it doesn't share an ASE heritage, only an added compatibility.) It all depends how well the original app developers took advantage of SQL Anywhere's unique features. – Terry Aug 11 '14 at 20:34
  • There are no fancy triggers or procedures in the DB. My thinking was the SQL may not simply "plug in" without any mods but if I can get the app to connect to a SQL Server Express DB, shouldn't I be able to modify the SQL in the PB app and make it all work? – user3850146 Aug 11 '14 at 20:59
  • Triggers and procedures are their challenge, but a simple SELECT statement like SELECT TruncNum (RoomHeight)... could make your migration effort a moot point. – Terry Aug 11 '14 at 21:11
  • I don't expect it to be effortless - I fully expect to have to change underlying SQL; I just want to know if it will connect up. – user3850146 Aug 11 '14 at 23:48
  • user3850146: It shall work along with PB. PB is already designed to connect to multiple databases, be it through ODBC or directly to the RDBMS. @Terry is right though, I forgot to mention about RDBMS specific functions or whatever specific to the platform. If any platform specific features are used, it makes sense to have to change them as these won't be supported in SQL Server Express. Apart from that, everything shall be fine, as long as you're aware that there might be work to do in the SQL to make it work with SQL Server Express, so are you. – Will Marcouiller Aug 12 '14 at 14:41