Classic Development / Deployment

Author: jroberson@canberra.com (Joanne Roberson)

We are kind of in a rush to get Uniface 9.7.03 out to our customers so they can start using Oracle 12c, Windows 10 & Windows 2012.  Rather than try to figure out the whole UAR thing for the entire application (we have used it for patches in the past), I want to continue to develop and deploy the way we did prior to 9.7.03. I just about have everything set up in my ASN files.  I can bring up IDF.  But when I go to compile any global object (messages, panels, menus, etc.) I get the same error on all of them: Compile Panel: 'HIS20_PANEL' I/O function: U, mode: 0, on file/table: UOBJ length: 116 42000 [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near '30001'. Error on creation ObjectFile: Compile Panel: 'HIS20_PANEL2' I/O function: U, mode: 0, on file/table: UOBJ length: 125 42000 [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near '30001'. Error on creation ObjectFile: And trying to compile a global proc locks up my entire computer to the point where I have to hard reboot.  Ugly. Has anyone ran into this problem before? Thanks. J. Roberson

5 Comments

  1. You could first of all do the compile with a higher I/O print (e.g. 127) and see if that provides more clues about the error; e.g. compiling the panels from the IDF command line:

    • /pri=127 /pnl

    Other things that are interesting to know:

    • Which driver settings are you using (usys$mss_params)?
    • How did you migrate the repository to Uniface 9.7?
    • Did you create the repository (database) from scratch using the create table scripts provided with Uniface or were the repository tables created on the fly?
    • Which Uniface version, database, operating system, ... did you use until now?

    Hope this helps. Kind regards, Daniel Iseli Uniface Technical Support


    Author: diseli (daniel.iseli@uniface.com)
  2. raiserror 30001 'insert: entityB restricted link detected to entityA' SQL Server 2012 has discontinued support for this raiserror syntax, causing an error when executing the generated script from Uniface in the database.   At least we had to update triggers in our application-databases due to this 30001 error. There is an error in Uniface versions before 9.6.02, causing triggers not working in Sql-Server 2012. Triggers created after and with 9.6.02 does work, and does also work in older Sql-Server versions. The error exists both for MSS4.0 and MSS5.0. You probably have some old source-code triggers in your database. I think Daniels question "How did you migrate the repository to 9.7" is crucial.   Regards RogerW.


    Author: rogerw (roger.wallin@abilita.fi)
  3. diseli said You could first of all do the compile with a higher I/O print (e.g. 127) and see if that provides more clues about the error; e.g. compiling the panels from the IDF command line:
    • /pri=127 /pnl
    Other things that are interesting to know:
    • Which driver settings are you using (usys$mss_params)?
    • How did you migrate the repository to Uniface 9.7?
    • Did you create the repository (database) from scratch using the create table scripts provided with Uniface or were the repository tables created on the fly?
    • Which Uniface version, database, operating system, ... did you use until now?
    Hope this helps. Kind regards, Daniel Iseli Uniface Technical Support  

    I created the repository using SQL Server COPY old database to new database SQL Server driver and params: MSS=U5.0 USYS$MSS_PARAMS = connections:60,procedures:off,dbowner="dbo",identifiers:quoted,hs:on,gran:row,mars:on  Uniface Version = 9.7.03.02 G309 Windows 7 I will try /pri=127 /pnl


    Author: Joanne Roberson (jroberson@canberra.com)
  4. rogerw said raiserror 30001 'insert: entityB restricted link detected to entityA' SQL Server 2012 has discontinued support for this raiserror syntax, causing an error when executing the generated script from Uniface in the database.   At least we had to update triggers in our application-databases due to this 30001 error. There is an error in Uniface versions before 9.6.02, causing triggers not working in Sql-Server 2012. Triggers created after and with 9.6.02 does work, and does also work in older Sql-Server versions. The error exists both for MSS4.0 and MSS5.0. You probably have some old source-code triggers in your database. I think Daniels question "How did you migrate the repository to 9.7" is crucial.   Regards RogerW.  

    Oh my, yes, there are many triggers on my "U" tables.  I will go back and compare the scripts that came with the installation of 9.7 (we upgraded from 9.5)


    Author: Joanne Roberson (jroberson@canberra.com)
  5. rogerw said raiserror 30001 'insert: entityB restricted link detected to entityA' SQL Server 2012 has discontinued support for this raiserror syntax, causing an error when executing the generated script from Uniface in the database.   At least we had to update triggers in our application-databases due to this 30001 error. There is an error in Uniface versions before 9.6.02, causing triggers not working in Sql-Server 2012. Triggers created after and with 9.6.02 does work, and does also work in older Sql-Server versions. The error exists both for MSS4.0 and MSS5.0. You probably have some old source-code triggers in your database. I think Daniels question "How did you migrate the repository to 9.7" is crucial.   Regards RogerW.  

    THANK YOU Roger W! I created a brand new repository using the installation scripts (and I noticed that the new triggers raise an error of 50000 rather than 30001). I imported my old repository and have been able to compile any global object with no problems.  


    Author: Joanne Roberson (jroberson@canberra.com)