Prinzessin
I'm new here

XML Schema einer externen Datenbank mit biginteger Feld erweitern

Jump to solution

Hallo,

ich habe eine externe Datenbank (MySQL) an das CMS (Version 5.0.318.57504) angebunden.

Einige Views aus der externen Datenbank habe ich bereits selbst durch die Bearbeitung des XML-Schemas im CMS ergänzt.

Nun muss ich eine View (Tabelle im CMS) um ein neues Feld (Typ biginteger) erweitern.

Hier die Struktur des Views in der MySQL-Datenbank:

db_struktur_mysql.gif

Leider habe ich kein Beispiel für diesen Typ dazu gefunden.

Mein XML-Schema zu der View sieht im CMS so aus:

xml_schema.gif

Wie kann ich das biginteger-Feld hier aufnehmen?

Meine bisherigen Versuche waren diese:

1. <xs:element dbName="mdm_id" javaType="java.lang.Integer" length="255" name="mdm_id" nullable="1" type="xs:integer"/>

2. <xs:element dbName="mdm_id" javaType="java.lang.String" length="255" name="mdm_id" nullable="1" type="xs:string"/>

(beides ohne Erfolg... 😞 )

0 Kudos
1 Solution

Accepted Solutions
Prinzessin
I'm new here

Re: XML Schema einer externen Datenbank mit biginteger Feld erweitern

Jump to solution

Dankeschön, im View war ein Fehler, der nun behoben wurde.

So hat die Einbindung nun geklappt:

<xs:element dbName="mdm_id" javaType="java.math.BigInteger" length="255" name="mdm_id" nullable="1" type="xs:integer"/>

View solution in original post

0 Kudos
6 Replies
Peter_Jodeleit
Crownpeak employee
Crownpeak employee

Re: XML Schema einer externen Datenbank mit biginteger Feld erweitern

Jump to solution

Funktioniert es mit "java.langmath.BigInteger"?

[EDIT: Typo korrigiert, siehe Folge-Posts]

Peter
0 Kudos
Prinzessin
I'm new here

Re: XML Schema einer externen Datenbank mit biginteger Feld erweitern

Jump to solution

Hallo,

also so funktioniert es nicht:

<xs:element dbName="mdm_id" javaType="java.lang.BigInteger" length="11" name="mdm_id" nullable="1" type="xs:biginteger"/>

und so auch nicht:

<xs:element dbName="mdm_id" javaType="java.lang.BigInteger" length="11" name="mdm_id" nullable="1" type="xs:integer"/>

0 Kudos
maaroufi
I'm new here

Re: XML Schema einer externen Datenbank mit biginteger Feld erweitern

Jump to solution

Hallo Yvonne,

was ist mit "java.math.BigInteger" ?

ggfls. hilft noch das MySQL-Type Mapping weiter:

http://dev.mysql.com/doc/refman/5.1/de/connector-j-reference-type-conversions.html

Freundliche Grüße

Ismail

Prinzessin
I'm new here

Re: XML Schema einer externen Datenbank mit biginteger Feld erweitern

Jump to solution

Hallo,

so hat es nicht funktioniert:

<xs:element dbName="mdm_id" javaType="java.math.BigInteger" length="255" name="mdm_id" nullable="1" type="xs:biginteger"/>

und so konnte ich zumindest das Feld in das XML-Schema aufnehmen:

<xs:element dbName="mdm_id" javaType="java.math.BigInteger" length="255" name="mdm_id" nullable="1" type="xs:integer"/>

Als ich allerdings das Mapping angepasst habe um die Inhalte der Datenquelle anzusehen, kam diese Fehlermeldung:

Client Version: 5.0.318.57504

Java Version: 1.6.0_37 Sun Microsystems Inc.

FSVersion=5.0.318.57504#3102;JDK=1.6.0_37 32bit Sun Microsystems Inc.;OS=Windows 7 6.1 x86;Date=26.07.2013 14:12:15

de.espirit.or.QueryException: Error code: 1054, state: 42S22

    at de.espirit.or.impl.AbstractSessionHandler.fetchByKeys(AbstractSessionHandler.java:220)

    at de.espirit.firstspirit.content.ContentManagerImpl.fetchByKeys(ContentManagerImpl.java:540)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    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:95)

    at de.espirit.firstspirit.server.io.handler.ManagerCall.handle(ManagerCall.java:69)

    at de.espirit.firstspirit.server.io.ManagerCallWorker.run(ManagerCallWorker.java:108)

    at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:578)

    at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:545)

    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:37)

Caused by: java.sql.SQLException: Unknown column 'mdm_id' in 'field list'

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

    at com.mysql.jdbc.Util.getInstance(Util.java:386)

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)

    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)

    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)

    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)

    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)

    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2309)

    at de.espirit.or.impl.AbstractSessionHandler.fetchByKeys(AbstractSessionHandler.java:189)

    at de.espirit.firstspirit.content.ContentManagerImpl.fetchByKeys(ContentManagerImpl.java:540)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    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:95)

    at de.espirit.firstspirit.server.io.handler.ManagerCall.handle(ManagerCall.java:69)

    at de.espirit.firstspirit.server.io.ManagerCallWorker.run(ManagerCallWorker.java:108)

    at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:578)

    at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:545)

    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:55)

    at de.espirit.firstspirit.client.io.RemoteManagerCaller.invoke(RemoteManagerCaller.java:52)

    at de.espirit.firstspirit.server.$Proxy51.fetchByKeys(Unknown Source)

    at de.espirit.firstspirit.store.access.templatestore.SessionHandlerImpl.fetchByKeys(SessionHandlerImpl.java:78)

    at de.espirit.or.impl.AbstractSession$EntityListImpl.fetch(AbstractSession.java:1074)

    at de.espirit.or.impl.AbstractSession$EntityListImpl.fetch(AbstractSession.java:1048)

    at de.espirit.common.util.AbstractLazyList.get(AbstractLazyList.java:156)

    at de.espirit.firstspirit.client.gui.tree.store.contentstore.ContentTable$SelectorTask.run(ContentTable.java:1419)

    at de.espirit.firstspirit.client.gui.util.GuiUtil$RunnableWrapper.run(GuiUtil.java:1928)

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

0 Kudos
maaroufi
I'm new here

Re: XML Schema einer externen Datenbank mit biginteger Feld erweitern

Jump to solution

Hallo,

Caused by: java.sql.SQLException: Unknown column 'mdm_id' in 'field list'

Eine mögliche Lösung:

http://exceptionsandsolutions.blogspot.de/2010/09/javasqlsqlexception-unknown-column.html

Freundliche Grüße

Ismail

0 Kudos
Prinzessin
I'm new here

Re: XML Schema einer externen Datenbank mit biginteger Feld erweitern

Jump to solution

Dankeschön, im View war ein Fehler, der nun behoben wurde.

So hat die Einbindung nun geklappt:

<xs:element dbName="mdm_id" javaType="java.math.BigInteger" length="255" name="mdm_id" nullable="1" type="xs:integer"/>

0 Kudos