Questions & Answers

SOLVED
ESalimov
I'm new here

FS_LIST und Oracle Datenbank

Jump to solution

Hallo zusammen,

Beim Hinzufรผgen kriege ich eine Fehlermeldung. Da ist die Inhalt von Formular. 

<CMS_INPUT_TEXT name="cs_name" hFill="yes" singleLine="no">

    <LANGINFOS>

      <LANGINFO lang="*" label="Name"/>

    </LANGINFOS>

  </CMS_INPUT_TEXT>

<CMS_INPUT_TEXT name="cs_sku" hFill="yes" singleLine="no">

    <LANGINFOS>

      <LANGINFO lang="*" label="SKU"/>

    </LANGINFOS>

  </CMS_INPUT_TEXT>

  <FS_LIST name="cs_skus" hFill="yes">

    <DATASOURCE type="database">

      <ACTIONS>

        <ACTION name="ADD"/>

        <ACTION name="REMOVE"/>

      </ACTIONS>

      <COLUMNS>

        <COLUMN show="no">#identifier</COLUMN>

      </COLUMNS>

      <LAYOUT>

        <ADD component="toolbar" constraint="top"/>

        <ADD component="overview" constraint="center"/>

        <ADD component="stackedview" constraint="hide"/>

      </LAYOUT>

      <TABLE>products.product</TABLE>

    </DATASOURCE>

    <LANGINFOS>

      <LANGINFO lang="*" label="SKU's"/>

    </LANGINFOS>

  </FS_LIST>

Die Tabelle "Product" ist aus Oracle Datenbank und enthรคlt mehrere Attribute. Aber ich brauche nur Sku(String) und Name(String), die ich spรคter zum Auswahl da habe und beim Hinzufรผgen soll ohne Problem durchgefรผhrt werden.

Da ist die Fehlermeldung:

...

(de.espirit.firstspirit.client.AbstractGuiHost): ExceptionHandler.uncaughtException() - java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number

FSVersion=5.0.318.57504#3526;JDK=1.7.0_25 64bit Oracle Corporation;OS=Windows 7 6.1 amd64;Date=26.09.2013 16:59:15

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number

    at de.espirit.firstspirit.access.store.contentstore.gom.list.EntityFormData.updateFsId(EntityFormData.java:60)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.EntityFormData.<init>(EntityFormData.java:46)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.EntityFormData.<init>(EntityFormData.java:38)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentDataFactory.createFormData(ContentDataFactory.java:250)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentDataFactory.create(ContentDataFactory.java:234)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentDataFactory.create(ContentDataFactory.java:175)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentActions$Add.addEntityIfAllowed(ContentActions.java:437)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentActions$Add.actionPerformed(ContentActions.java:426)

    at de.espirit.firstspirit.access.store.templatestore.gom.fslist.DefaultActionHandler.actionPerformed(DefaultActionHandler.java:39)

Ich wรผrde mich freuen, wenn Sie mir helfen kรถnnten.

Viele GrรผรŸe,

Emil.

0 Kudos
1 Solution

Accepted Solutions

Hallo Emil,

ich bin mir ziemlich sicher, dass FirstSpirit als Primary Key eine Number erwartet. Ohne das in deiner Datenbank zu รคndern, wirst du hier wohl Probleme haben.

Viele GrรผรŸe

Thorsten

View solution in original post

0 Kudos
9 Replies
ESalimov
I'm new here

..........

(de.espirit.firstspirit.client.AbstractGuiHost): ExceptionHandler.uncaughtException() - java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number

FSVersion=5.0.318.57504#3526;JDK=1.7.0_25 64bit Oracle Corporation;OS=Windows 7 6.1 amd64;Date=26.09.2013 17:18:10

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number

    at de.espirit.firstspirit.access.store.contentstore.gom.list.EntityFormData.updateFsId(EntityFormData.java:60)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.EntityFormData.<init>(EntityFormData.java:46)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.EntityFormData.<init>(EntityFormData.java:38)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentDataFactory.createFormData(ContentDataFactory.java:250)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentDataFactory.create(ContentDataFactory.java:234)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentDataFactory.create(ContentDataFactory.java:175)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentActions$Add.addEntityIfAllowed(ContentActions.java:437)

    at de.espirit.firstspirit.access.store.contentstore.gom.list.ContentActions$Add.actionPerformed(ContentActions.java:426)

    at de.espirit.firstspirit.access.store.templatestore.gom.fslist.DefaultActionHandler.actionPerformed(DefaultActionHandler.java:39)

0 Kudos

Hallo zusammen,

kann jemand mir helfen ? hat jemand eine Idee, warum ich so eine Fehlermeldung bekomme?

Viele GrรผรŸe,

Emil

0 Kudos

Hallo,

Ich habe es in dem Demo-Projekt getestet, da lรคuft es ganz normal. Ich vermute jetzt, dass ich die Fehlermeldung wegen der Anbindung der Oracle-Datenbank bekomme. Wenn ich die Datenquelle anlege, dann bekomme ich nur ein einziges Attribut, nรคmlich den Primary Key mit Namen UUID (Datentyp String). Kann es sein, dass bei Anbindung einer externen Datenbank der Primary Key zwingend vom Datentyp Integer sein muss?

Veiel GrรผรŸe,

Emil.

0 Kudos
Anonymous
Not applicable

Hi Emil,

deine Fehlermeldung klingt nach unpassenden/fehlerhaften Tabellenspaltentypen: "java.lang.String cannot be cast to java.lang.Number".

Wie wird die Datenbank angebunden? Werden die Tabellen von FirstSpirit verwaltet oder handelt es sich um eine nicht-schreibende Anbindung mit bereits existierenden Tabellen? Wie sieht das Mapping aus?

Ohne weitere Informationen kann man leider wenig helfen, sondern nur raten wo der Fehler liegt.

Viele GrรผรŸe,

Nils

0 Kudos

Hallo Nils,

ich habe ein Schema aus Datenbank erzeugt und es handelt sich um eine nicht-schreibende Anbindung mit bereits existierenden Tabellen.( Soweit ich verstanden habe, darf eine externe DB von Firstspirit nicht verwaltet werden). Die entsprechenden Screenshots des Mappings habe ich unten angehรคngt.

1)

2.JPG

2)

1.JPG

Die Idee war, dass der Redakteur den Name des Produkts รผber die SKU(Datentyp String) zugreifen kann. Also, der Redakteur gibt die SKU in CMS_INPUT_TEXT und enthรคlt den entsprechenden Name in  COMBOBOX. Aber es muss die Mรถglichkeit bestehen, dass der Redakteur den gesuchten Name aus COMBOBOX auswรคhlen kann.

P.S Kann man die Idee in WebEdit รผber "Inhalt bearbeiten" Dialog realisieren ohne BeanShell Skript fรผr den Button "Suche" zu verwenden?

So was in WebEdit:

3.JPG

Danke im Voraus.

Viele GrรผรŸe,

Emil



0 Kudos
ESalimov
I'm new here

Hallo zusammen,

Das Problem liegt auf jeden Fall in Primary Key, weil Primary Key da einen Datentype Stirng hat.

Wie kann man das Problem behoben oder ist es nicht mรถglich?

Viele GrรผรŸe,

Emil

0 Kudos

Hallo Emil,

ich bin mir ziemlich sicher, dass FirstSpirit als Primary Key eine Number erwartet. Ohne das in deiner Datenbank zu รคndern, wirst du hier wohl Probleme haben.

Viele GrรผรŸe

Thorsten

0 Kudos

Korrekt, fรผr einige Nutzungsarten wird in FirstSpirit ein numerischer Primรคr-Schlรผssel in der externen Tabelle vorrausgesetzt. Dies betrifft auch die Verwendung in FS_LIST bzw. FS_DATASET.

Peter
0 Kudos

Hallo Emil,

benรถtigst Du noch weitere Hilfe oder haben Dir die gegebenen Antworten bereits geholfen?

In diesem Fall wรคre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere

Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lรถsung

gefunden haben, wรคre es nett, wenn Du diese hier bereitstellst.

Viele GrรผรŸe

Michaela

0 Kudos

Type a product name