Error when loading wildfire_sybase.sql

Hi,

We are using a sybase database and we wanted to upgrade Wildfire from version 2.6.2 to 3.0.1, but Wildfire was not able to upgrade the database due to the following error:

com.sybase.jdbc3.jdbc.SybSQLException: Incorrect syntax near ‘’;’’. (The same error occurs also if we start from scratch and try to recreate the database schema)

I saw that indeed, there is a special treatment for oracle database to remove the ‘’;’’ at the end of each instruction, and this is not be done for sybase database. Do you think it would be possible to do the same thing for sybase so I don’'t have to upgrade my database manually ?

Please note also that sybase does not support NVARCHAR with a size upper 255, so the table jiveSASLAuthorized, pubsubNode, pubsubAffiliation, pubsubItem and pubsubSubscription trigger an error. I have reduce the size of the column concerned, do you think it can trigger errors?

Please note my configuration details:

Thanks,

Mélanie

Hi Mélanie,

I did create JM-856 to get this fixed.

Do you also need “Go” statements after the CREATE and the INSERT statements?

LG

Thanks for looking into this issue. Yes, you will need to add go at the end of the statement.

I noticed another error also, which is relatd to the sybase database. On logon I got the following error:

com.sybase.jdbc3.jdbc.SybSQLException: Implicit conversion from datatype ‘‘TEXT’’ to ‘‘VARCHAR’’ is not allowed. Use the CONVERT function

to run this query.

at com.sybase.jdbc3.tds.Tds.processEed(Tds.java:3069)

at com.sybase.jdbc3.tds.Tds.nextResult(Tds.java:2373)

at com.sybase.jdbc3.jdbc.ResultGetter.nextResult(ResultGetter.java:69)

at com.sybase.jdbc3.jdbc.SybStatement.nextResult(SybStatement.java:220)

at com.sybase.jdbc3.jdbc.SybStatement.nextResult(SybStatement.java:203)

at com.sybase.jdbc3.jdbc.SybStatement.queryLoop(SybStatement.java:1705)

at com.sybase.jdbc3.jdbc.SybStatement.executeQuery(SybStatement.java:1690)

at com.sybase.jdbc3.jdbc.SybPreparedStatement.executeQuery(SybPreparedStatement.ja va:97)

at org.jivesoftware.wildfire.group.Group.getSharedGroupsNames(Group.java:76)

at org.jivesoftware.wildfire.group.GroupManager.getSharedGroups(GroupManager.java: 231)

at org.jivesoftware.wildfire.roster.RosterManager.getSharedGroups(RosterManager.ja va:169)

at org.jivesoftware.wildfire.roster.Roster.(Roster.java:84)

at org.jivesoftware.wildfire.roster.RosterManager.getRoster(RosterManager.java:91)

at org.jivesoftware.wildfire.user.User.getRoster(User.java:280)

at org.jivesoftware.wildfire.handler.IQRosterHandler.manageRoster(IQRosterHandler. java:187)

at org.jivesoftware.wildfire.handler.IQRosterHandler.handleIQ(IQRosterHandler.java :104)

at org.jivesoftware.wildfire.handler.IQHandler.process(IQHandler.java:48)

at org.jivesoftware.wildfire.IQRouter.handle(IQRouter.java:265)

at org.jivesoftware.wildfire.IQRouter.route(IQRouter.java:96)

at org.jivesoftware.wildfire.PacketRouter.route(PacketRouter.java:65)

at org.jivesoftware.wildfire.net.SocketReader.processIQ(SocketReader.java:396)

at org.jivesoftware.wildfire.net.ClientSocketReader.processIQ(ClientSocketReader.j ava:50)

at org.jivesoftware.wildfire.net.SocketReader.readStream(SocketReader.java:264)

at org.jivesoftware.wildfire.net.SocketReader.run(SocketReader.java:119)

at java.lang.Thread.run(Unknown Source)

Could you fix also this query issue in the meantime ? We want to upgarde our wildfire server in production, but I would like to wait for this bug fixes to do so. In which version do you think this will be available ?

Thank you,

Melanie

Just one correction, there is no need to add go at the end of each statement. Just remove the “;”. I believe the ‘‘go’’ is implicitly done when executing the satement with the sybase driver.