[SOLVED] MS-SQL issue

Author: knut.dybendahl@gmail.com (Knut)

Hi all, I've got a 2008 MS-SQL server where I'm trying to 'slurp-and-burp' a database schema. Currently using the U5.1 driver. I can connect to the engine, I can select data from the tables using both MS-SQL tools and SQL workbench in Uniace. However, when I attempt to exchange model(s) -> Load Definition using IDF - I get a strange error message; HY003 [Microsoft][ODBC Driver Manager] Program type out of range I've tried both the ODBC connectors installed (SQL Server vers 10.00.14393.00 and SQL Server Native Client vers 2011.110.3000.00) - no joy. Any ideas anyone? Knut

3 Comments

  1. Ok - Resolved. Changed to U5.0 driver - no further strange error message. Strange error message though... One for the books. Now, I was stuck with "Could not find stored procedure 'sysobjects_FET'." When I look through the SQL files with the installation of 9.6.08 - there isn't a SP to be found with the name 'sysobjects_FET'. The problem here was the ASN file: USYS:MSS_PARAMS procs:off, checks:off, ents:upper, mapping:23 Uniface didn't throw an error when starting up - hence I took it to be a correct line. Upon further investigation - this is what it should be: USYS$MSS_PARAMS procs:off, checks:off, ents:upper, mapping:23 Small, but important difference.... Knut


    Author: Knut (knut.dybendahl@gmail.com)
  2. Hi Knut, Thanks for the info. The MSS U5.1 is only supported with SQL Server 2016 and the corresponding Microsoft ODBC Driver for SQL Server. If you are using SQL Server 2008 then you actually should use the MSS U4.0 connector. For details see the PAM. But how did you manage to use the U5.1 connector with Uniface 9.6.08? This connector is only provided with version 9.7.03 (and higher). Secondly, the table sysobjects is a system table of SQL Server. There is no stored procedure for this table. For this reason the following is mentioned under the topic "Importing Data Definitions From a DBMS" in the Uniface Library: "* You may need to disable the use of stored procedures, if these are supported by the DBMS." Hope this helps. And I'll mark this topic as solved. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  3. The MSS U5.1 is only supported with SQL Server 2016 and the corresponding Microsoft ODBC Driver for SQL Server. If you are using SQL Server 2008 then you actually should use the MSS U4.0 connector. For details see the PAM

      I am still not convinced about this information. We also use driver 5.1 against SQL Server 2008 databases, but we keep the uniface driver 'in pair' with the associated client version, in this case ODBC driver 13.1 We do not use 2016 specific features, all our SQL's are compatible with 2008 - 2012 - 2016. And Microsofts information is also very clear about the support for ODBC 13.1:

    Microsoft ODBC Driver 13.1 for SQL Server is a single dynamic-link library (DLL) containing run-time support for applications using native-code APIs to connect to Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, SQL Server 2016, Analytics Platform System, Azure SQL Database and Azure SQL Data Warehouse. 

    For ORA this is very clear: the uniface driver should match with the oracle client version (not database version)

    ORA U6.2  -> Oracle Client 10g R2

    ORA U6.3  -> Oracle Client 11g R1

    ORA U7.0  -> Oracle Client 11g R2

    ORA U7.1  -> Oracle Client 12c   For MSS this should be the same:

    MSS U4.0  -> SQL Server Native Client (and not SQL Server 2005)

    MSS U4.0  -> SQL Server Native Client 10.0 (and not SQL Server 2008)

    MSS U4.0  -> SQL Server Native Client 10.5 (and not SQL Server 2008 R2)

    MSS U5.0  -> SQL Server Native Client 11.0 (and not SQL Server 2012)

    MSS U5.0  -> SQL Server Native Client 11.0 OR Microsoft® ODBC Driver 11 for SQL Server (and not SQL Server 2014)

    MSS U5.1  -> Microsoft® ODBC Driver 13.1 for SQL Server (and not SQL Server 2016)   Links: https://blogs.msdn.microsoft.com/sqlreleaseservices/snac-lifecycle-explained/    Since we have clients with mixed environments, it's much easier to rely on an installed client and its supported server connections then on the server version.


    Author: wimmme (wim.vaneupen@xperthis.be)