Collation problems

Post any questions regarding Installing or Upgrading Ebase, including problems starting up the Ebase Xi Server or Designer

Moderators: Jon, Steve, Ian, Dave

Steve James
Ebase User
Posts: 331
Joined: Mon Mar 10, 2014 8:34 am

Collation problems

#1

Postby Steve James » Tue Nov 29, 2016 10:55 am

Hi, we get this type of error every now and then due to table creation scripts.

Please advise.
Thanks

16-Nov-29 00:01:21:947 | ERROR | Error deleting old runtime versions from the runtime versions tables.
java.sql.SQLException: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:632)
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.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:504)
at org.enhydra.jdbc.core.CorePreparedStatement.executeUpdate(CorePreparedStatement.java:102)
at sun.reflect.GeneratedMethodAccessor128.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.bull.javamelody.JdbcWrapper.doExecute(JdbcWrapper.java:403)
at net.bull.javamelody.JdbcWrapper$StatementInvocationHandler.invoke(JdbcWrapper.java:128)
at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:285)
at com.sun.proxy.$Proxy5.executeUpdate(Unknown Source)
at com.ebasetech.ufs.kernel.workspace.ServerRuntimePersist.deleteObsoleteRuntimeVersions(ServerRuntimePersist.java:891)
at com.ebasetech.ufs.kernel.RuntimeVersionsMaintenance.execute(RuntimeVersionsMaintenance.java:15)
at com.ebasetech.ufs.batch.ExecutableTask.run(ExecutableTask.java:157)
at java.lang.Thread.run(Thread.java:745)
16-Nov-29 00:01:21:947 | INFO | Transaction rolled back
16-Nov-29 00:01:21:947 | ERROR | Unexpected error occurred during scheduled task execution for task id RuntimeHeadlessMaintenance
com.ebasetech.xi.exceptions.FormRuntimeException: java.sql.SQLException: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.
at com.ebasetech.ufs.kernel.workspace.ServerRuntimePersist.deleteObsoleteRuntimeVersions(ServerRuntimePersist.java:896)
at com.ebasetech.ufs.kernel.RuntimeVersionsMaintenance.execute(RuntimeVersionsMaintenance.java:15)
at com.ebasetech.ufs.batch.ExecutableTask.run(ExecutableTask.java:157)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:632)
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.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:504)
at org.enhydra.jdbc.core.CorePreparedStatement.executeUpdate(CorePreparedStatement.java:102)
at sun.reflect.GeneratedMethodAccessor128.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.bull.javamelody.JdbcWrapper.doExecute(JdbcWrapper.java:403)
at net.bull.javamelody.JdbcWrapper$StatementInvocationHandler.invoke(JdbcWrapper.java:128)
at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:285)
at com.sun.proxy.$Proxy5.executeUpdate(Unknown Source)
at com.ebasetech.ufs.kernel.workspace.ServerRuntimePersist.deleteObsoleteRuntimeVersions(ServerRuntimePersist.java:891)
... 3 more
0 x

Jon
Moderator
Moderator
Posts: 1342
Joined: Wed Sep 12, 2007 12:49 pm

#2

Postby Jon » Thu Dec 01, 2016 6:14 pm

Sorry about the delay in answering. I wonder if this problem has been caused by the fix for http://forum.ebasetech.com/forum/viewtopic.php?t=1287.

Do you think you could check your repository database that the following three tables are correct (it's the collation for the RUNTIME_ID and ID columns that are causing the problem):

create table [dbo].[runtime_user_versions]
(
[RUNTIME_ID ] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[USER_ID] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
)

create table [dbo].[runtime_versions]
(
[ID] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[TIMEOUT] [datetime] NOT NULL,
[RUNTIME_TYPE] VARCHAR(10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[RUNTIME_ZIP] [image] NULL
)

CREATE TABLE [dbo].[current_versions]
(
[PROJECT] VARCHAR(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[PATH] VARCHAR(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[RUNTIME_ID] VARCHAR(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[RUNTIME_TYPE] VARCHAR(10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
)
0 x

Steve James
Ebase User
Posts: 331
Joined: Mon Mar 10, 2014 8:34 am

#3

Postby Steve James » Fri Dec 02, 2016 9:34 am

Thanks Jon,

It looks like SQL changed current_versions.runtime_id collation when the column size changed from 10 to 255 (via MSS Mgmt Studio UI). The collation was changed to the database default ie Latin1_General_CI_AS.
0 x


Who is online

Users browsing this forum: Google [Bot] and 5 guests