- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Fehler beim Speichern einer Bild Referenz
Hallo zusammen,
ich habe eine Newstabelle erstellt, zu einer News soll auch ein Bild gespeichert werden kรถnnen.
Dazu habe ich folgende Formular Komponente genutzt:
<FS_REFERENCE name="cs_media" allowEmpty="yes" imagePreview="yes" upload="yes" useLanguages="no">
<FILTER>
<ALLOW type="picture"/>
<HIDE type="folders"/>
</FILTER>
<LANGINFOS>
<LANGINFO lang="*" label="News Visual" description="Please select a media file"/>
</LANGINFOS>
<PROJECTS>
<LOCAL name=".">
<SOURCES>
<FOLDER name="pic" store="mediastore"/>
</SOURCES>
</LOCAL>
</PROJECTS>
</FS_REFERENCE>
Wenn ich in der Datenquelle einen neuen Datensatz anlegen mรถchte, dann bekomme ich immer eine Fehlermeldung. Egal, ob ich ein Bild ausgewรคhlt habe oder das Feld frei lasse.
Caused by: java.sql.SQLException: Incorrect string value: '\xA7" set...' for column 'image' at row 1
Detailierte Fehlermeldung:
Client Version: 4.2.454.47473
Java Version: 1.7.0 Oracle Corporation
FSVersion=4.2.454.47473#2659;JDK=1.7.0 32bit Oracle Corporation;OS=Windows 7 6.1 x86;Date=08.02.2012 09:39:00
de.espirit.or.ORException: Error code: 1366, state: HY000
at de.espirit.or.impl.TemporalCommandHandler.handle(TemporalCommandHandler.java:147)
at de.espirit.or.impl.CreateRelationCommand.accept(CreateRelationCommand.java:94)
at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:642)
at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:74)
at de.espirit.firstspirit.content.ContentManagerImpl$TemporalSessionHandler.commit(ContentManagerImpl.java:1207)
at de.espirit.firstspirit.content.ContentManagerImpl.commit(ContentManagerImpl.java:630)
at sun.reflect.GeneratedMethodAccessor253.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:62)
at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:91)
at de.espirit.firstspirit.server.io.handler.CompactCall.handle(CompactCall.java:67)
at de.espirit.firstspirit.server.io.ManagerCallWorker.run(ManagerCallWorker.java:108)
at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:553)
at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:520)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:419)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:36)
Caused by: java.sql.SQLException: Incorrect string value: '\xA7" set...' for column 'image' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
at com.mysql.jdbc.UpdatableResultSet.updateRow(UpdatableResultSet.java:2411)
at de.espirit.or.impl.TemporalCommandHandler.updateForeignKey(TemporalCommandHandler.java:430)
at de.espirit.or.impl.TemporalCommandHandler.handle(TemporalCommandHandler.java:137)
at de.espirit.or.impl.CreateRelationCommand.accept(CreateRelationCommand.java:94)
at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:642)
at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:74)
at de.espirit.firstspirit.content.ContentManagerImpl$TemporalSessionHandler.commit(ContentManagerImpl.java:1207)
at de.espirit.firstspirit.content.ContentManagerImpl.commit(ContentManagerImpl.java:630)
at sun.reflect.GeneratedMethodAccessor253.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:62)
at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:91)
at de.espirit.firstspirit.server.io.handler.CompactCall.handle(CompactCall.java:67)
at de.espirit.firstspirit.server.io.ManagerCallWorker.run(ManagerCallWorker.java:108)
at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:553)
at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:520)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:419)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at de.espirit.firstspirit.client.io.ServerCaller.callManager(ServerCaller.java:372)
at de.espirit.firstspirit.io.DefaultClientHandler.callManager(DefaultClientHandler.java:49)
at de.espirit.firstspirit.client.io.RemoteManagerCaller.invoke(RemoteManagerCaller.java:52)
at de.espirit.firstspirit.server.$Proxy33.commit(Unknown Source)
at de.espirit.firstspirit.store.access.templatestore.SessionHandlerImpl.commit(SessionHandlerImpl.java:113)
at de.espirit.or.impl.SessionImpl.doCommit(SessionImpl.java:191)
at de.espirit.or.impl.AbstractSession.commit(AbstractSession.java:521)
at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.save(DatasetImpl.java:938)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.AbstractGuiXmlPanel.save(AbstractGuiXmlPanel.java:460)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.ContentGuiXmlPanel.persist(ContentGuiXmlPanel.java:394)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.ContentGuiXmlPanel.persist(ContentGuiXmlPanel.java:364)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.ContentGuiXmlPanel.save(ContentGuiXmlPanel.java:359)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.ContentGuiXmlPanel$GuiXmlToolbar$2.actionPerformed(ContentGuiXmlPanel.java:553)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at de.espirit.firstspirit.common.gui.FsButton.fireActionPerformed(FsButton.java:86)
at de.espirit.firstspirit.common.gui.StoreHoverButton.fireActionPerformed(StoreHoverButton.java:97)
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$000(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$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.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$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue.defaultDispatchEvent(AWTDispatchingEventQueue.java:130)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:115)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:108)
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)
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Herr Wehe,
das sieht sehr stark nach einem Konfigurationsproblem der Mysql bzgl. Encoding aus.
Steht die Collation von Table und Columns auf UTF-8?
Viele Grรผรe
Jรถrg Stephan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Zusatzinfo:
Es wird eine MySQL Datenbank eingesetzt.
Auf dem Testserver wird die DerbyDB genutzt, dort tritt derFehler nicht auf.
Auch bei einem anderen Datensatz, bei dem ich eine Bild Referenz speichern mรถchte, tritt besagter Fehler auf.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nachtrag 2:
Nun tritt der Fehler auch auf, wenn ich aus der Produktdatenbank einen Datensatz lรถschen mรถchte.
Gibt es da bekannte Probleme oder Fallstricke, wenn eine MySQL Datenbank genutzt wird?
Client Version: 4.2.454.47473
Java Version: 1.7.0 Oracle Corporation
FSVersion=4.2.454.47473#2659;JDK=1.7.0 32bit Oracle Corporation;OS=Windows 7 6.1 x86;Date=08.02.2012 14:00:32
de.espirit.or.ORException: Error code: 1366, state: HY000
...
Caused by: java.sql.SQLException: Incorrect string value: '\xA7" set...' for column 'specification' at row 1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Herr Wehe,
das sieht sehr stark nach einem Konfigurationsproblem der Mysql bzgl. Encoding aus.
Steht die Collation von Table und Columns auf UTF-8?
Viele Grรผรe
Jรถrg Stephan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
vielen Dank fรผr Ihre Antwort. Wie das Encoding der Tabellen und Spalten konfiguriert ist kann ich derzeit leider noch nicht genau sagen, ich bemรผhe mich grade um direkten Zugriff auf die Datenbank.
Vielleicht sind auch schon die Verbindungseinstellungen problematisch? Folgendermaรen ist der Zugriff auf die DB konfiguriert (DBNAME, HOST und DBUSER sind natรผrlich nur Platzhalter):
jdbc.SCHEMA = DBNAME
jdbc.layerclass = de.espirit.or.impl.mysql.MySQLLayer
jdbc.DRIVER = com.mysql.jdbc.Driver
jdbc.URL = jdbc:mysql://HOST:3306/DBUSER?useUnicode=true&characterEncoding=UTF8
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
haben Sie inzwischen die Konfiguration der Datenbank herausfinden kรถnnen?
Die Verbindungseinstellungen lassen auf den ersten Blick keine Fehler erkennen.
Viele Grรผรe
Rouven
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
es lag daran, dass die Datenbank ISO-8859-1 encodet war. Nach Umstellung auf UTF-8 sind die Fehler verschwunden.
Eine Frage zum Encoding hรคtte ich aber noch:
Der Kunde mรถchte Teile der Webseite auch auf japanisch, koreanisch und chinesisch anbieten. Kรถnnen diese Sprachen vom firstSpirit Admin hinzugefรผgt werden und muss das Encoding dazu auf UTF-16 geรคndert werden?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das ist schรถn, dass das Problem schonmal gelรถst ist.
Die Sprachen kรถnnen genauso angelegt werden, wie alle anderen Sprachen auch. Hier sollte es also keinerlei Probleme geben. Da UTF-8 und UTF-16 sich nur dahingehend unterscheiden, dass eine unterschiedliche Anzahl Bytes zur Kodierung verwendet wird, die beiden aber ansonsten dieselben Sprachen unterstรผtzen, kann das Encoding auch auf UTF-8 bleiben.
Viele Grรผรe
Rouven

