Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Hibernate und DAO und Reports (https://www.delphipraxis.net/184984-hibernate-und-dao-und-reports.html)

BörmtDieBuse 11. Mai 2015 14:20

AW: Hibernate und DAO und Reports
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von mjustin (Beitrag 1300625)
Zitat:

Zitat von BörmtDieBuse (Beitrag 1300624)
ich hab nochmal mein "host:port:sid" überprüft, hab exakt das rauskopiert, was auch im Oracle SQL Developer drin steht.
kann es vllt sein das er nicht erkennt, welche DB er ansprechen soll? ich hab 2 drin, einmal namens "Test" und einmal "Umweltlabor".

Im hibernate.cfg.xml steht (siehe oben) "jdbc:oracle:thin:@host:port:ssid:" als URL und da ist am Ende ein Doppelpunkt, der dort nicht sein sollte.

Vielen Dank, du hast recht, das hab ich komplett übersehen.

Ich hab wieder eine neue Frage zu Hibernate.
Im Anhang kann man sehen, das ich 2 Datenbanken in einer hibernate url hab

Code:
<property name="hibernate.connection.url">jdbc:oracle:thin:@host:1631:sid</property>
Weiß jemand, wie ich nur Umweltlabor ansprechen kann und nicht Test? Zurzeit wird alles nur in Test reingeschrieben
Ich hab erst gedacht ich kann es so machen

Code:
<property name="hibernate.connection.url">jdbc:oracle:thin:@host:1631:sid:Umweltlabor</property>
Das passt aber nicht zur Syntax.

Im Internet stand das es so gehen müsste.
Code:
<!--<property name=”hibernate.default_schema”>Umweltlabor</property> -->
Funzt leider auch nicht.

Egal wo ich such wird der Fall von 2 DBs in einer URL nicht beschrieben.
Weiß jemand Rat?
Danke!

mjustin 11. Mai 2015 14:45

AW: Hibernate und DAO und Reports
 
Zitat:

Zitat von BörmtDieBuse (Beitrag 1301040)
Im Internet stand das es so gehen müsste.
Code:
<!--<property name="hibernate.default_schema">Umweltlabor</property> -->
Funzt leider auch nicht.

Wenn, dann nur ohne die Kommentarzeichen, also:

Code:
<property name="hibernate.default_schema">Umweltlabor</property>
Das sollte funktionieren, zum Beispiel wird es so beschrieben unter https://karussell.wordpress.com/2009...oracle-and-h2/

BörmtDieBuse 12. Mai 2015 08:33

AW: Hibernate und DAO und Reports
 
Zitat:

Zitat von mjustin (Beitrag 1301047)
Zitat:

Zitat von BörmtDieBuse (Beitrag 1301040)
Im Internet stand das es so gehen müsste.
Code:
<!--<property name="hibernate.default_schema">Umweltlabor</property> -->
Funzt leider auch nicht.

Wenn, dann nur ohne die Kommentarzeichen, also:

Code:
<property name="hibernate.default_schema">Umweltlabor</property>
Das sollte funktionieren, zum Beispiel wird es so beschrieben unter https://karussell.wordpress.com/2009...oracle-and-h2/

Von dieser Seite habe ich die Information.
Ich hab es natürlich ohne die Kommentarzeichen gemacht, hab es nur aus dem Code nehmen wollen, da es nicht funktioniert.
Wenn ich aber Hibernate ausführe mit dem Code von oben, dann bekomm ich diese Fehlermeldungen.

Zitat:

INFO: HHH000412: Hibernate Core {4.3.9.Final}
Mai 12, 2015 9:29:52 AM org.hibernate.cfg.Environment <clinit>
INFO: HHH000205: Loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=org.h2.Driver, hibernate.service.allow_crawling=false, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.max_fetch_depth=5, hibernate.format_sql=true, hibernate.generate_statistics=true, hibernate.connection.username=sa, hibernate.connection.url=jdbc:h2:mem:db1;DB_CLOSE_ DELAY=-1;MVCC=TRUE, hibernate.bytecode.use_reflection_optimizer=false, hibernate.jdbc.batch_versioned_data=true, hibernate.connection.pool_size=5}
Mai 12, 2015 9:29:52 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Mai 12, 2015 9:29:52 AM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
Mai 12, 2015 9:29:52 AM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
Fehler beim erstellen der SessionFactory
org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
at org.hibernate.cfg.Configuration.doConfigure(Config uration.java:2165)
at org.hibernate.cfg.Configuration.configure(Configur ation.java:2077)
at org.hibernate.cfg.Configuration.configure(Configur ation.java:2056)
at hibernate.HibernateTest.main(HibernateTest.java:23 )
Caused by: org.dom4j.DocumentException: Error on line 16 of document : Öffnendes Anführungszeichen wird für Attribut "{1}" erwartet, das mit Elementtyp "name" verknüpft ist. Nested exception: Öffnendes Anführungszeichen wird für Attribut "{1}" erwartet, das mit Elementtyp "name" verknüpft ist.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.cfg.Configuration.doConfigure(Config uration.java:2157)
... 3 more

mjustin 12. Mai 2015 08:41

AW: Hibernate und DAO und Reports
 
Zitat:

Caused by: org.dom4j.DocumentException: Error on line 16 of document : Öffnendes Anführungszeichen wird für Attribut "{1}" erwartet, das mit Elementtyp "name" verknüpft ist. Nested exception: Öffnendes Anführungszeichen wird für Attribut "{1}" erwartet, das mit Elementtyp "name" verknüpft ist.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.cfg.Configuration.doConfigure(Config uration.java:2157)
... 3 more
Es liegt an den 'typografischen' Anführungszeichen:

statt
<property name=”hibernate.default_schema”>Umweltlabor</property>

muss es
<property name="hibernate.default_schema">Umweltlabor</property>

sein, 'typographisch schöne' Anführungszeichen sind in XML nicht als Begrenzer der Attribute erlaubt.

BörmtDieBuse 12. Mai 2015 09:39

AW: Hibernate und DAO und Reports
 
Zitat:

Zitat von mjustin (Beitrag 1301155)
Es liegt an den 'typografischen' Anführungszeichen:

statt
<property name=”hibernate.default_schema”>Umweltlabor</property>

muss es
<property name="hibernate.default_schema">Umweltlabor</property>

sein, 'typographisch schöne' Anführungszeichen sind in XML nicht als Begrenzer der Attribute erlaubt.

Oh mein Gott, mjustin du bist der beste, kann man dir nicht ihrgendwie ein Cookie geben oder so was^^, da wär ich ja nie drauf gekommen.

Ich denke nur das unsere Annahme falsch ist, das man mit

<property name="hibernate.default_schema">Umweltlabor</property

auf die entsprechende DB zugreifen kann.
Da ich diese Fehlermeldung für jede Tabelle bekomm und anscheinend denkt er das Schema was mit Benutzer zu tun hat.

Zitat:

Hibernate:
create table Umweltlabor.Project (
id number(10,0) not null,
projectNr varchar2(255 char),
projectStatus number(1,0) not null,
primary key (id)
)
Mai 12, 2015 10:26:26 AM org.hibernate.tool.hbm2ddl.SchemaExport perform
ERROR: HHH000389: Unsuccessful: create table Umweltlabor.Project (id number(10,0) not null, projectNr varchar2(255 char), projectStatus number(1,0) not null, primary key (id))
Mai 12, 2015 10:26:26 AM org.hibernate.tool.hbm2ddl.SchemaExport perform
ERROR: ORA-01918: Benutzer 'UMWELTLABOR' ist nicht vorhanden

mjustin 12. Mai 2015 10:05

AW: Hibernate und DAO und Reports
 
Zitat:

Hibernate:
create table Umweltlabor.Project (
id number(10,0) not null,
projectNr varchar2(255 char),
projectStatus number(1,0) not null,
primary key (id)
)
Mai 12, 2015 10:26:26 AM org.hibernate.tool.hbm2ddl.SchemaExport perform
ERROR: HHH000389: Unsuccessful: create table Umweltlabor.Project (id number(10,0) not null, projectNr varchar2(255 char), projectStatus number(1,0) not null, primary key (id))
Mai 12, 2015 10:26:26 AM org.hibernate.tool.hbm2ddl.SchemaExport perform
ERROR: ORA-01918: Benutzer 'UMWELTLABOR' ist nicht vorhanden
Könnte es mit der Gross- und Kleinschreibung zusammenhängen?

https://community.oracle.com/thread/2342992

Auch würde ich versuchen den am bessten passenden Oracle Dialekt in der hibernate.cfg.xml einzutragen. OracleDialect ist "veraltet", man kann zum Beispiel org.hibernate.dialect.Oracle10gDialect für 10g verwenden:

https://docs.jboss.org/hibernate/orm...0gDialect.html

BörmtDieBuse 12. Mai 2015 10:27

AW: Hibernate und DAO und Reports
 
Zitat:

Zitat von mjustin (Beitrag 1301160)

Könnte es mit der Gross- und Kleinschreibung zusammenhängen?

https://community.oracle.com/thread/2342992

Auch würde ich versuchen den am bessten passenden Oracle Dialekt in der hibernate.cfg.xml einzutragen. OracleDialect ist "veraltet", man kann zum Beispiel org.hibernate.dialect.Oracle10gDialect für 10g verwenden:

https://docs.jboss.org/hibernate/orm...0gDialect.html

Ich benutze als Dialekt Oracle10gDialect.
Hab hab es probiert mit "UMWELTLABOR" und "umweltlabor", ist leider kein Unterscheid erkennbar. Es kommt die selbe Fehlermeldung.

mjustin 12. Mai 2015 10:48

AW: Hibernate und DAO und Reports
 
Zitat:

Zitat von BörmtDieBuse (Beitrag 1301163)
Hab hab es probiert mit "UMWELTLABOR" und "umweltlabor", ist leider kein Unterscheid erkennbar. Es kommt die selbe Fehlermeldung.

Diverse Internetquellen sagen*) dass in Oracle User und Schema (fast) das selbe Ding sind. Wenn die Fehlermeldung lautet "Benutzer 'UMWELTLABOR' ist nicht vorhanden", dann vermute ich, Schema und Benutzer haben verschiedene Namen. Das Schema ist 'Umweltlabor'. Wird für die Anmeldung von Hibernate ein anderer Benutzer verwendet?

* ) z.B. unter difference between a User and a Schema in Oracle?:
Zitat:

"for all intents and purposes just consider user = schema = user = schema = the same thing"

BörmtDieBuse 12. Mai 2015 12:12

AW: Hibernate und DAO und Reports
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von mjustin (Beitrag 1301167)
Diverse Internetquellen sagen*) dass in Oracle User und Schema (fast) das selbe Ding sind. Wenn die Fehlermeldung lautet "Benutzer 'UMWELTLABOR' ist nicht vorhanden", dann vermute ich, Schema und Benutzer haben verschiedene Namen. Das Schema ist 'Umweltlabor'. Wird für die Anmeldung von Hibernate ein anderer Benutzer verwendet?

* ) z.B. unter difference between a User and a Schema in Oracle?:
Zitat:

"for all intents and purposes just consider user = schema = user = schema = the same thing"


Im Anhang hab ich mal verdeutlicht wie es bei mir aussieht. Der Benutzername ist anders, weil "Umweltlabor" und "Test"
kein Benutzername ist, sondern der Name von 2 Verbindungen aka Datenbanken (denk ich mal).

Deswegen leg ich auch so den Benutzer fest.
Code:
<property name="hibernate.connection.username">qqrhldb</property>

jobo 12. Mai 2015 12:16

AW: Hibernate und DAO und Reports
 
*blödsinn geschrieben*


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz