powered by Jive Software

Error: ORA-01461: can bind a LONG value only for insert into a LONG column


#1

Hello everybody.

I have installed Openfire 4.2.1 for a project at my job. It works fine but I get the following error on the log file.

java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column
org.jivesoftware.openfire.muc.spi.MUCPersistenceManager - Error saving conversation log entry
at java.lang.Thread.run(Thread.java:748)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl$LogConversationTask.run(MultiUserChatServiceImpl.java:600)
at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.access$300(MultiUserChatServiceImpl.java:94)
at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.logConversation(MultiUserChatServiceImpl.java:614)
at org.jivesoftware.openfire.muc.spi.MUCPersistenceManager.saveConversationLogEntry(MUCPersistenceManager.java:1070)
at $java.sql.Statement$$EnhancerByProxool$$f651c6eb.executeUpdate()
at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57)
at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1361)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4875)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:943)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column
org.jivesoftware.openfire.muc.spi.MUCPersistenceManager - Error saving conversation log entry
at java.lang.Thread.run(Thread.java:748)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl$LogConversationTask.run(MultiUserChatServiceImpl.java:600)
at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.access$300(MultiUserChatServiceImpl.java:94)

I’ve checked the database table and it has a number field instead a long as it is recommended.

Can anyone help me?

Thanks in advance.


#2

Can you test this with the latest version, 4.3.0?


#3

I would try but this is a final user application and I can’t stop the service.


#4

If this is a bug and it gets fixed, the fix would still be available only in the next version. So you would have to update. You can setup a test machine without users and see if you get the same error with the same type of database and Openfire 4.3.0. If this error is not causing real problems, then maybe you can just ignore it.