Ich glaube es läuft in erster Linie auf die richtige Nutzung des FSIntegration-Modules (DynamicDatabaseAccess), deren Implementierung in den Templates hinaus. Habt ihr da Erfahrung?
Die Umstellung des Datenbankzugriffs ergab üble Exceptions:
de.espirit.or.ORException: java.sql.SQLException: Incorrect string value: '\xC2\x84\xC3\x83\xC2\x96...' for column 'sn0' at row 1 / SQL = INSERT INTO fs_ds.users (sector, position_, mail, sn0, facsimiletelephonenumber, department, isregion, street, housenumber, companyname, iscompany, country, city, fs_gid, mobiletelephonenumber, username, title, academictitle, isinactive, readablepwd, cn0, telephonenumber, zipcode, salutation0, parent_id,
fs_id, fs_valid_from, fs_valid_to, fs_release_to)VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?) / null / [sector (12): IT-Unternehmen=>;IT-Unternehmen, position_ (12): , mail (12): khamsonh.marcel@khounlivong.de, sn0
(12): ÄÖÜ Khounlivong, facsimiletelephonenumber (12): , department (12): IT, isregion (16): false, street (12): Dittrichring, housenumber (12): 17, companyname (12): PIN Khounlivong, iscompany (16): false, country (12): , city (12): Leipzig, fs_gid (-2): 979b3dc5-5145-4ed6-b196-8ace2d0a7a98,
mobiletelephonenumber (12): +49 (0)177-59039-50, username (12): khamsonh.marcel@khounlivong.de, title (12): , academictitle (12):
Dipl.-Ing., isinactive (16): true, readablepwd (12): not-generated-yet, cn0 (12): Khamsonh äöüß, telephonenumber (12): +49 (0)341-98989-15, zipcode (12): 04109, salutation0 (12): Herr, parent_id (-5): 1735, fs_id (4): 43328, fs_valid_from (-5): 1368413455001, fs_valid_to (-5): 223372036854775807, fs_release_to (-5): 0]
Nested message: Incorrect string value: '\xC2\x84\xC3\x83\xC2\x96...' for column 'sn0' at row 1
de.espirit.or.impl.AbstractUpdateStatement.execute(AbstractUpdateStatement.java:171)
de.espirit.or.impl.AbstractUpdateStatement.executeUpdate(AbstractUpdateStatement.java:74)
de.espirit.or.impl.TemporalCommandHandler.handle(TemporalCommandHandler.java:77)
de.espirit.or.impl.CreateCommand.accept(CreateCommand.java:49)
de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:655)
de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:77)
de.espirit.or.impl.SessionImpl.doCommit(SessionImpl.java:195)
de.espirit.or.impl.AbstractSession.commit(AbstractSession.java:568)
de.espirit.or.impl.AbstractSession.commit(AbstractSession.java:554)
de.espirit.firstspirit.opt.integration.web.StoreServlet.doStore(StoreServlet.java:259)
de.espirit.firstspirit.opt.integration.web.StoreServlet.doPost(StoreServlet.java:140)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
de.espirit.firstspirit.acl.servlet.MultiAccessControlFilter.doFilter(MultiAccessControlFilter.java:110)
root cause
java.sql.SQLException: Incorrect string value: '\xC2\x84\xC3\x83\xC2\x96...' for column 'sn0' at row 1
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2503)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2664)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)
de.espirit.or.impl.AbstractUpdateStatement.execute(AbstractUpdateStatement.java:169)
de.espirit.or.impl.AbstractUpdateStatement.executeUpdate(AbstractUpdateStatement.java:74)
de.espirit.or.impl.TemporalCommandHandler.handle(TemporalCommandHandler.java:77)
de.espirit.or.impl.CreateCommand.accept(CreateCommand.java:49)
de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:655)
de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:77)
de.espirit.or.impl.SessionImpl.doCommit(SessionImpl.java:195)
de.espirit.or.impl.AbstractSession.commit(AbstractSession.java:568)
de.espirit.or.impl.AbstractSession.commit(AbstractSession.java:554)
de.espirit.firstspirit.opt.integration.web.StoreServlet.doStore(StoreServlet.java:259)
de.espirit.firstspirit.opt.integration.web.StoreServlet.doPost(StoreServlet.java:140)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
de.espirit.firstspirit.acl.servlet.MultiAccessControlFilter.doFilter(MultiAccessControlFilter.java:110)
Wie müssen unsere Entwickler die Formulare gestalten?