I installed Servoy on my Dev PC without iAnywhere as i run SQLExpress there and did’nt want to chance disturbing it. I want to run Servoy solutions against that server anyway!
After installation I was able to connect to my SQLServer and my database and build a solution based on it. Of course there was no repository server created for me during the install since Servoy had no SQL server at that time.
I created a database in MS SQL (same as my solution data supplier called repository_server) and connected to it. All seems fine with the connection, but when I click on the server in the tree view - I get a message to say old or no version for the repository - do I want to upgrade it. If I say yes then I get the error message ‘Cannot Create / Upgrade the Repository’
I can see into the repository (though all I can see are views). How can I create this repository. Right now I cant import any of the sample solutions because of this. Permissions are exactly the same as my other databases so there should be no lock-out - though I have explicitly granted full permissions to this connection user as a belt and braces approach!
It is normal to get a message with old or no repository found because you only have a blank database. Our tables must be created in the respository database. The problem is the error you get: Cannot Create / Upgrade the Repository. Can you check the log and tell the error why the repository cannot be created ?
lvostinar:
It is normal to get a message with old or no repository found because you only have a blank database. Our tables must be created in the respository database. The problem is the error you get: Cannot Create / Upgrade the Repository. Can you check the log and tell the error why the repository cannot be created ?
Vostimar - thats what I figured - below is the log content - sorry its so long - does this make any sense to you? The great majority of the errors seem to relate to table names being too long - but there are no names longer than 30 chars in my databases?
2008-08-15 20:16:58,653 ERROR [Thread-3] com.servoy.j2db.util.Debug - Throwable
com.servoy.j2db.persistence.RepositoryException: Old repository found in the database. Repository version: 0, software version: 35. Upgrade the repository first.
at com.servoy.j2db.persistence.Repository.for(Unknown Source)
at com.servoy.j2db.persistence.Repository.(Unknown Source)
at com.servoy.j2db.persistence.Repository.(Unknown Source)
at com.servoy.j2db.persistence.Server.getRepository(Unknown Source)
at com.servoy.j2db.server.ApplicationServer.initFromSerclipse(Unknown Source)
at com.servoy.eclipse.core.ServoyModel.startAppServer(ServoyModel.java:147)
at com.servoy.eclipse.core.util.SplashHandler$1.run(SplashHandler.java:37)
at java.lang.Thread.run(Unknown Source)
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name column_xml_schema_collection_usages from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name dm_db_missing_index_group_stats from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name dm_exec_background_job_queue_stats from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name dm_exec_query_transformation_stats from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name dm_tran_active_snapshot_database_transactions from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name message_type_xml_schema_collection_usages from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name parameter_xml_schema_collection_usages from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name service_contract_message_usages from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name system_components_surface_area_configuration from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name system_internals_allocation_units from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name system_internals_partition_columns from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,700 WARN [TaskExecuter[1]] com.servoy.j2db.persistence.Server - Table name xml_schema_component_placements from server repository_server is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name column_xml_schema_collection_usages from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name dm_db_missing_index_group_stats from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name dm_exec_background_job_queue_stats from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name dm_exec_query_transformation_stats from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name dm_tran_active_snapshot_database_transactions from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name message_type_xml_schema_collection_usages from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name parameter_xml_schema_collection_usages from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name service_contract_message_usages from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name system_components_surface_area_configuration from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name system_internals_allocation_units from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name system_internals_partition_columns from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:16:58,762 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Table name xml_schema_component_placements from server tci_excorr_test is too long (>30 chars) – this is not supported by all databases
2008-08-15 20:17:32,591 WARN [AWT-EventQueue-0] com.servoy.j2db.persistence.Server - Column name ‘fc_surface_preparation_required’ from table ‘fabric_condition’ is too long (>30 chars) – this is not supported by all databases
The text you attached does not contain the real upgrade error. Those are only warnings ( except first one). There should be an error which starts with: “Failed to create/upgrade repository.” This should be in the new log from 4.0 ( your_workspace/.metadata/.log ). Could you please have a look what error you have there ?
lvostinar:
The text you attached does not contain the real upgrade error. Those are only warnings ( except first one). There should be an error which starts with: “Failed to create/upgrade repository.” This should be in the new log from 4.0 ( your_workspace/.metadata/.log ). Could you please have a look what error you have there ?
Here is that error Ivostinar - Obviouslly I can see the error around ‘‘servoy_content_spec’’ object - but not sure where to go with that?
!ENTRY com.servoy.eclipse.core 4 0 2008-08-15 20:17:41.278
!MESSAGE Failed to create/upgrade repository.
!STACK 0
com.servoy.j2db.persistence.RepositoryException: com.servoy.j2db.persistence.RepositoryException: java.sql.SQLException: There is already an object named ‘servoy_content_spec’ in the database.
at com.servoy.j2db.persistence.RepositoryUpdater.a(Unknown Source)
at com.servoy.j2db.persistence.Server.createActualRepositoryTables(Unknown Source)
at com.servoy.j2db.persistence.Server.createRepositoryTables(Unknown Source)
at com.servoy.eclipse.team.ServoyTeamProvider$3.run(ServoyTeamProvider.java:461)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
Caused by: com.servoy.j2db.persistence.RepositoryException: java.sql.SQLException: There is already an object named ‘servoy_content_spec’ in the database.
at com.servoy.j2db.persistence.Server.a(Unknown Source)
… 28 more
Caused by: java.sql.SQLException: There is already an object named ‘servoy_content_spec’ in the database.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:723)
at net.sourceforge.jtds.jdbc.JtdsStatement.execute(JtdsStatement.java:1157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.servoy.j2db.persistence.datasource.p.invoke(Unknown Source)
at $Proxy2.execute(Unknown Source)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:183)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:183)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:183)
… 29 more
‘servoy_content_spec’ is a table in repository database. It complains the table is found even if it should me missing ( when creating a new repository). So i guess there is no problem if you create a new (empty) database, link it in servoy.properties to repository_server connection and try again to create repository. You should get rid of that error.
lvostinar:
‘servoy_content_spec’ is a table in repository database. It complains the table is found even if it should me missing ( when creating a new repository). So i guess there is no problem if you create a new (empty) database, link it in servoy.properties to repository_server connection and try again to create repository. You should get rid of that error.
Thanks Ivostinar - I deleted the Db (repository_server), re-created the Db and stopped / restarted my SQL Server. The link was still in servoy.properties to connect so I simply clicked the repository server connection in Developer servers, and it appeared build the now tables in the repository_server Db. Unfortunately Developer simply stops responding at this point and I have to kill the process. Developer seems to work correctly in all other respects with this repository_server exception.
Any possibility Servoy Support Engineers might offer some help with this situation?
Servoy Developer simply hangs now when attempting to create repository_server tables! I’m obviously doing something wrong with this solution but would appreciate some help with a resolution.
I created a repository on a Sql Server Express Edition database without any problems. I followed the steps: create a database from Sql Server Management Studio, modified servoy.properties so that server “repository_server” points to my new database, started Servoy 4.0 ( my new server was valid) then clicked on it to get the dialog with Old or no repository found. I choosed to create and the repository was created in my database. Couldn’t reproduce any problem during this process . Maybe this helps ?
lvostinar:
I created a repository on a Sql Server Express Edition database without any problems. I followed the steps: create a database from Sql Server Management Studio, modified servoy.properties so that server “repository_server” points to my new database, started Servoy 4.0 ( my new server was valid) then clicked on it to get the dialog with Old or no repository found. I choosed to create and the repository was created in my database. Couldn’t reproduce any problem during this process . Maybe this helps ?
Thanks again - I used the same steps and created a completely new Db (with a different Name in case that was causing a conflict). I used servoy.properties to create the link and double clicked to start the server database build. Seemed to be OK with no error and the app did not hang. However - I tried to synch the Db with the repository and I got 100 errors ‘Object appears in the Db table but it is missing from the Db Information File’. How can I synch these?
The repository_server is not intended to be synchronized. The dbi files are not created in the resources project as for the other servers. However, the synchronize should show no differences ( as it does for Sybase repository). You can fill a case in our system about this.
I still can’t create the repository. Sorry for not getting what may be quite obvious.
Where is servoy.properties? Is it a text file? How do I modify it so that it points to the repository_server?
John McCann
I followed the steps: create a database from Sql Server Management Studio, modified servoy.properties so that server “repository_server” points to my new database, started Servoy 4.0 ( my new server was valid) then clicked on it to get the dialog with Old or no repository found. I choosed to create and the repository was created in my database. Couldn’t reproduce any problem during this process ."
Yes , servoy.properties is a text file and is situated in install_dir/application_server . I think the easiest way is: create from developer a new server which points to your new created MS SQL database. When you have a valid server ( usually takes some time to figure it out; there is another topic about how to connect to MS SQL express edition) close developer and go and edit servoy.properties in a text editor. You have to replace your old server “repository_server” with the new ms sql server ( rename ms sql server to be called “repository_server” , take out the old repository server, watch out for the pattern in the text file and also for the variable that indicates the total number of servers). Hope it is more clear now …
I finally got it to work. I had to right click on the servoy.exe icon and the select “open as administrator”. Seems to be an issue with Vista only as this is not an option on Windows XP. After opening as an administrator I was able to generate a repository and it also generated the servoy_log.
idoctor:
I finally got it to work. I had to right click on the servoy.exe icon and the select “open as administrator”. Seems to be an issue with Vista only as this is not an option on Windows XP. After opening as an administrator I was able to generate a repository and it also generated the servoy_log.
John McCann
John, Johan solved my challenge too - here’s the thread viewtopic.php?f=11&t=10980
I finally got it to work. If I right click on the servoy.exe icon I get the option to open servoy developer as an administrator. When I open it as an administrator and follow the steps I am able to create the repository. This also seemed to solve a number of other problems I was having. I think this is only an issue on Windows Vista.
John McCann
Windows Vista
Java 1.5
Servoy 4.00
SQL Server 2005 Express
JTDS Driver