Error code: 1118 beim Abspeichern in Datenquelle
Author: sirius_schmidt
Publication Date: 2/10/2020 12:24
wir haben hier bei einem Kunden ein Problem in FirstSpirit (version 5.2.102.69188) mit einer Datenquelle.
Es existiert eine Datenquelle "News" mit einer sprachabhängigen Spalte "detail_text" vom Typ FIRSTspirit-Editor, Länge 65535, leere Werte erlaubt.
Man kann jedoch (aus unbekannten Gründen) maximal 36 Zeichen speichern, ab dem 37. Zeichen erhält man einen
Fehler beim Datenbankzugriff:
Error code: 1118, state: 42000
Client Version: 5.2.102.69188
Java Version: 1.8.0_241 Oracle Corporation
de.espirit.or.ORException: Error code: 1118, state: 42000
at de.espirit.or.impl.TemporalCommandHandler.handle(TemporalCommandHandler.java:251)
at de.espirit.or.impl.UpdateCommand.accept(UpdateCommand.java:54)
at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:798)
at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:75)
at de.espirit.firstspirit.content.ContentManagerImpl$TemporalSessionHandler.commit(ContentManagerImpl.java:1336)
at de.espirit.firstspirit.content.ContentManagerImpl.commit(ContentManagerImpl.java:704)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:67)
at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:132)
at de.espirit.firstspirit.server.io.handler.CompactCall.handle(CompactCall.java:73)
at de.espirit.firstspirit.server.io.MessageWorker.run(MessageWorker.java:31)
at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:605)
at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:572)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:425)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:38)
Caused by: java.sql.SQLException: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
at com.mysql.jdbc.Util.getInstance(Util.java:387)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:941)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3870)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3806)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2470)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2617)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2550)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073)
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009)
at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5094)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994)
at com.mysql.jdbc.UpdatableResultSet.insertRow(UpdatableResultSet.java:844)
at de.espirit.or.impl.TemporalCommandHandler.insertRow(TemporalCommandHandler.java:757)
at de.espirit.or.impl.TemporalCommandHandler.insertUpdatedEntry(TemporalCommandHandler.java:582)
at de.espirit.or.impl.TemporalCommandHandler.update(TemporalCommandHandler.java:627)
at de.espirit.or.impl.TemporalCommandHandler.handle(TemporalCommandHandler.java:251)
at de.espirit.or.impl.UpdateCommand.accept(UpdateCommand.java:54)
at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:798)
at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:75)
at de.espirit.firstspirit.content.ContentManagerImpl$TemporalSessionHandler.commit(ContentManagerImpl.java:1336)
at de.espirit.firstspirit.content.ContentManagerImpl.commit(ContentManagerImpl.java:704)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:67)
at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:132)
at de.espirit.firstspirit.server.io.handler.CompactCall.handle(CompactCall.java:73)
at de.espirit.firstspirit.server.io.MessageWorker.run(MessageWorker.java:31)
at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:605)
at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:572)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:425)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at de.espirit.firstspirit.client.io.ServerCaller.callManager(ServerCaller.java:461)
at de.espirit.firstspirit.io.DefaultClientHandler.callManager(DefaultClientHandler.java:58)
at de.espirit.firstspirit.client.io.RemoteManagerCaller.invoke(RemoteManagerCaller.java:53)
at de.espirit.firstspirit.server.$Proxy88.commit(Unknown Source)
at de.espirit.firstspirit.store.access.templatestore.SessionHandlerImpl.commit(SessionHandlerImpl.java:126)
at de.espirit.or.impl.SessionImpl.doCommit(SessionImpl.java:219)
at de.espirit.or.impl.AbstractSession.commit(AbstractSession.java:585)
at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.save(DatasetImpl.java:1187)
at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.save(DatasetImpl.java:1232)
at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.writeToServer(AbstractGuiStoreElement.java:683)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.GuiDataset.writeToServer(GuiDataset.java:306)
at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.store(AbstractGuiStoreElement.java:1365)
at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.storeAndNotify(AbstractGuiStoreElement.java:605)
at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:592)
at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:572)
at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:563)
at de.espirit.firstspirit.client.action.SaveAction.actionPerformed(SaveAction.java:77)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at de.espirit.firstspirit.common.gui.FsButton.fireActionPerformed(FsButton.java:86)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue.defaultDispatchEvent(AWTDispatchingEventQueue.java:161)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:138)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:131)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
Ist hier die Lösung tatsächlich, eine neue Spalte anzulegen und das Feld auf die neue Spalte zu mappen sowie die Inhalte dann manuell in die neue Datenbankspalte zu kopieren ?
Oder kann man das auch sinnvoll anders beheben ?
Tags: datenbank, datenbankschemata, datenquelle, firstspiriteditor
Please sign in to leave a comment.
Comments
0 comments