oracle 11g hibernate problem
Ich bin die änderung meiner Datenbank von PostgreSQL auf Oracle 11g. Ich bin mit hibernate 3.0 mit Java und Struts.
Alles ist in Ordnung arbeiten mit PostgreSQL.
Habe ich geändert in folgenden hibernate.cfg.xml Datei.
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.password">mypassword</property>
<property name="hibernate.connection.url">jdbc:Oracle:thin:@192.168.1.1:1521/mydb</property>
<property name="hibernate.connection.username">my_user</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
Alles andere ist identisch, das war in Postgresql.
Ich bin mit ojdbc5.jar
Nun wenn ich meine Seite es gibt mir folgenden Fehler.
ORA-00903: Ungültiger Tabellenname
Kann einer mir helfen in der Sache?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist am wahrscheinlichsten, dass einer von zwei Fällen:
Wenn Sie nicht der Eigentümer der Tabelle (aber Zuschüsse zu zugreifen!), Sie müssen entweder eine Oracle-synonym bedeutet, dass ein Verweis auf MYTABLE in THE_ACTUAL_OWNER.MYTABLE oder einen Verweis auf die schema-qualifier direkt im code.
Zweiten Fall ist es weniger wahrscheinlich, aber manchmal Skripts zur Erstellung der Tabelle wird das erstellen von Objekten in oracle, die mit doppelten Anführungszeichen um den Namen des Objekts, die es erlauben, die Erstellung von mixed-case-identifier - ERSTELLEN der TABELLE "myTable" erstellen Sie die gemischte groß-und Kleinschreibung Bezeichner, dann muss darauf verwiesen werden, durch die mixed-case-string.
Uns mit weiteren Infos, eine Verbindung mit irgendeiner Art von ad-hoc-SQL-tool als derselbe Benutzer, wie Sie Ihre Anwendung und die Ergebnisse posten von:
select owner, table_name from all_tables where table_name = 'theNameOfTheTableOfinterest';
dpbradley ist wohl richtig, aber ich lief einfach in Folgendes problem mit 11g und hibernate:
- oracle 11g Ihnen das definieren einer Tabelle mit einem Namen, die größer als 30 Zeichen
- allerdings, kann man eigentlich nicht finden, dass die Tabelle in einer SQL-Anweisung, weil sein name zu lang ist.