How to Migrate Uniface-7 App from Sybase to MS SQLServer

Author: jchan@bonlandhvac.com (Jay C)

We have a Uniface-7.1 application that is currently using Sybase as the database. The Sybase server is getting old and has experienced some problem, and there is no in-house Unix expert any more. We want to move out the database from the Sybase server to a server that has Microsoft SQL Server 2000. I have the following questions: 1.  Is this DB option available for Uniface-7.1? I have read this web page: http://unifaceinfo.com/docs/0906/Uniface_Library_HTML/ulibrary/MS_SQL_Intro_99320B773AACED29C31617ECC00BF8FE.html If I read this correctly, this seems to suggest that the database option for Microsoft SQL Server is available since Uniface-4.0 and Uniface-5.0. But I am not sure. Can someone confirm this? 2.  What is the general idea of the steps to migrate from Sybase to MS SQLServer? I have not touched Uniface for years. Therefore, I am very rusty. I need all the help that I can get. By the way, the clients of the application are all Windows-XP desktop PCs. The application runs directly in the desktop PCs. It is not running in the server. We only use the server as the database. I mention this just in case this makes any difference. Thanks in advance for any help. Jay C

15 Comments

  1. I couldn't locate a PAM for Uniface 7.1, as it's such an old release. (1990's perhaps?).  I looked at the Uniface 7.2.06 PAM, the oldest I could find, and that shows that MS-SQL 2000 support was added in a service pack part way into it's supported life, and not from the very beginning. This implies that Uniface 7.1 would almost certainly not have supported MS SQL 2000.  The u4 and u5 that you refer to from the documentation link are actually the driver version numbers, not the Uniface version numbers.  From the depths of my memory, we originally supported MS SQL with a Sybase driver (they were originally the same product) starting with Uniface 5.2. In the Uniface Six era a dedicated driver was made, although the first one, the u1.0 driver was basically the same code and functionality as the Sybase driver. Since then, the drivers have obviously grown apart. At one point, the MS SQL driver was totally rewritten to our UDT architecture, I think that was for MS SQL 2000 onwards.  Whatever MS SQL driver came with Uniface 7.1, it would have been a pre-UDT driver and I'd be surprised if it could connect to MS SQL 2000.  


    Author: Adrian Gosbell (adrian.gosbell@synapse-i.jp)
  2. Hi Jay C, Your Uniface version 7.1 dates back to before the millenium, as does your designated SQL Server 2000. Is SQL Server 2000 still available then? Latest service pack (SP4) dates back to 2005. Isn't SQL Server 2000 going to be unsupported on your designated (new?) server? The Uniface documentation that you're referring to in the opening post is the documentation for the newest Uniface version, being 9.6.06. The driver numbers U4.0 and U5.0 are not refferring in any way to Uniface 4 and/or Uniface 5. U4.0 for instance is the Uniface 9 driver for MS SQL Server 2005 and 2008, as stated in the Product Availability Matrix for Uniface 9.6 In my personal archives I've found a Product Availability Matrix for Uniface 7.2.06 (last Uniface 7 version, out of support since 2003), which states database driver U3.0 should do the job for SQL Server 2000. This is driver number that should be mentioned in your ASN file (at the location that now probably mentions U2.10 or U3.2 for your Sybase Open Client) The Uniface IDF (development or deployment environment) can be used to: - Generate scripts to create the tables on MS SQL Server - Transfer the data from Sybase to SQL Server. From a professional point of view I have to advise to migrate all software and hardware to their latest supported versions (including your XP clients), of course. Best regards, Arjen van Vliet Solution Consultant Uniface B.V. Amsterdam


    Author: Arjen van Vliet (arjen.van.vliet@uniface.com)
  3. ...Hmm, I started typing my answer parallel to Adrian's I guess. He just finished quicker, hence the overlap in our answers :-).


    Author: Arjen van Vliet (arjen.van.vliet@uniface.com)
  4. Thanks both of you for telling me that the driver for Microsoft SQL Server is not available in my old version of Uniface 7.1. This explains the reason why my copy of Uniface fails to generate a script file for adding any table to SQL Server when I use the MSS driver. That MSS driver option seems to be just a stub. I am OK with the script files because I can use SYB driver (for Sybase) to generate script files and then make some minor modifications on the script files to add the structure of the tables (and stored procedures) to SQL Server. My next question is: Can Uniface 7.1 gets access to the data in SQL Server during run-time? I guess not because it is missing MSS driver. But I ask anyway. Regardless if the answer will be positive or negative, I appreciate the prompt reply and helpful info that I have received from both of you. Thanks. Jay C


    Author: Jay C (jchan@bonlandhvac.com)
  5. I had a quick look and Uniface 7.1 supported Microsoft SQL Server 6.5 with the MSS U1.1 connector (mss6511l.dll). And the connector was tested against the Microsoft SQL Client 6.5 (on Windows NT 4.0 and Windows 95). I don't know if it would be possible to use any newer SQL Server Client version in combination with the connector - not even sure if this was ever tested. Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  6. Jay C said My next question is: Can Uniface 7.1 gets access to the data in SQL Server during run-time? I guess not because it is missing MSS driver. But I ask anyway.

    My best guess would also be 'No', because like you are already saying, you're most likely not licensed for the MSS driver.

    Arjen van Vliet said In my personal archives I've found a Product Availability Matrix for Uniface 7.2.06 (last Uniface 7 version, out of support since 2003), which states database driver U3.0 should do the job for SQL Server 2000. This is driver number that should be mentioned in your ASN file (at the location that now probably mentions U2.10 or U3.2 for your Sybase Open Client)

    You could try to put the U3.0 (instead of the U2.10 or U3.2 that you're probably having right now) in your ASN file and see what happens, but I don't think it will work. (Make sure to back up your original ASN file, and these things are also best done in a seperate development or test environment). Cheers, Arjen


    Author: Arjen van Vliet (arjen.van.vliet@uniface.com)
  7. Correction:  Actually the Uniface version is 7.2.04, not 7.1.  I have old and new manuals mixed together and got confused. Hi diseli. Yes, you are right. According to a README.TXT file in my Uniface folder, it is supposed to support Microsoft SQL Server version 6.5, and I can find a copy of MSS6511L.DLL in the C:\USYS72\bin folder. I don't know why this MSS driver cannot generate script files for adding tables.  Anyway, I will test to see if I can use the MSS driver to talk to Microsoft SQL Server 2000. Jay C


    Author: Jay C (jchan@bonlandhvac.com)
  8. Make sure you back up your data and test well before moving into production. 


    Author: Adrian Gosbell (adrian.gosbell@synapse-i.jp)
  9. diseli said I had a quick look and Uniface 7.1 supported Microsoft SQL Server 6.5 with the MSS U1.1 connector (mss6511l.dll). And the connector was tested against the Microsoft SQL Client 6.5 (on Windows NT 4.0 and Windows 95). I don't know if it would be possible to use any newer SQL Server Client version in combination with the connector - not even sure if this was ever tested. Hope this helps. Daniel

    And I have noticed something else: the MSS U1.1 connector (or better said the SQL Client 6.5) did not use ODBC to connect to the database. ODBC "support" was only introduced with the SQL Server 7.0. Considering this I don't think that it will be possible to access a SQL Server 2000 database with Uniface 7.1. If you really need to access a SQL Server 2000 database (or newer) then the only way forward seems to upgrade to a more recent Uniface version. Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  10. Jay C said Correction:  Actually the Uniface version is 7.2.04, not 7.1.  I have old and new manuals mixed together and got confused. Hi diseli. Yes, you are right. According to a README.TXT file in my Uniface folder, it is supposed to support Microsoft SQL Server version 6.5, and I can find a copy of MSS6511L.DLL in the C:\USYS72\bin folder. I don't know why this MSS driver cannot generate script files for adding tables.  Anyway, I will test to see if I can use the MSS driver to talk to Microsoft SQL Server 2000. Jay C

    Hi Jay C, Thanks for the additional info - it seems that your post has coincided with mine. Anyways, the MSS U2.0 connector (for SQL Server 7.0) was only introduced with version 7.2.05. And, as Adrian already mentioned, for SQL Server 2000 you need the MSS U3.0 connector that was introduced in one of the Service Packs for version 7.2.06. Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  11. Thanks Arjen and diseli.  Then this really closes the case.  Uniface 7.2.04 is not going to work with Microsoft SQL Server 2000. Good.  This means I can focus on other possible solutions to the problem with my Sybase server. I am glad to have a good group of knowledgeable people in this forum that are willing to help. Jay C


    Author: Jay C (jchan@bonlandhvac.com)
  12. You're welcome Jay C, Please don't hesitate to pick our brains in the futureSmile Best regards, Arjen


    Author: Arjen van Vliet (arjen.van.vliet@uniface.com)
  13. Wasn't there an ODBC option for MSS databases for U7? And if not, and depending on the criticality of what you need to do, you could look at the driver "cook book" options. Was that around in U7? ... Just a thought. Ronny


    Author: rkrite (rkrite@gmail.com)
  14. rkrite said Wasn't there an ODBC option for MSS databases for U7? And if not, and depending on the criticality of what you need to do, you could look at the driver "cook book" options. Was that around in U7? ... Just a thought. Ronny

    According to the PAM 7.2.06 ODBC (U2.92) is/was only supported for W95/98, NT4 and W2K. Not for XP.


    Author: Arjen van Vliet (arjen.van.vliet@uniface.com)
  15. Arjen van Vliet said
    rkrite said Wasn't there an ODBC option for MSS databases for U7? And if not, and depending on the criticality of what you need to do, you could look at the driver "cook book" options. Was that around in U7? ... Just a thought. Ronny
    According to the PAM 7.2.06 ODBC (U2.92) is/was only supported for W95/98, NT4 and W2K. Not for XP.

    I think Ronny is referring to the MSS U2.0 connector for SQL Server 7.0 (that was introduced with version 7.2.05). And the SQL Client 7.0 was using ODBC. Update: Or maybe not. I guess there was a ODBC driver for the SQL Server 6.5, but I don't think that it would be a good idea to use it with the ODBC connector of Uniface. The ODBC connector has so many  limitations that it cannot really replace a dedicated database connector.


    Author: diseli (daniel.iseli@uniface.com)