AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Hibernate und DAO und Reports
Thema durchsuchen
Ansicht
Themen-Optionen

Hibernate und DAO und Reports

Ein Thema von BörmtDieBuse · begonnen am 6. Mai 2015 · letzter Beitrag vom 13. Mai 2015
Antwort Antwort
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#1

AW: Hibernate und DAO und Reports

  Alt 12. Mai 2015, 10:48
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"
Michael Justin

Geändert von mjustin (12. Mai 2015 um 10:59 Uhr)
  Mit Zitat antworten Zitat
BörmtDieBuse

Registriert seit: 25. Mär 2015
26 Beiträge
 
#2

AW: Hibernate und DAO und Reports

  Alt 12. Mai 2015, 12:12
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>
Angehängte Grafiken
Dateityp: png Schema.PNG (40,4 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Hibernate und DAO und Reports

  Alt 12. Mai 2015, 12:17

Deswegen leg ich auch so den Benutzer fest.
Code:
<property name="hibernate.connection.username">qqrhldb</property>
Auf http://java.dzone.com/articles/hiber...settings-derby (und auf https://karussell.wordpress.com/2009...oracle-and-h2/) ist schön zu sehen dass Benutzer und Schemaname in der Hibernate-Konfiguration für den Oracle thin Treiber gleich sind:
Code:
<property name="hibernate.connection.username">YOURSCHEMA</property>
<property name="hibernate.connection.password">YOURPASSWORD</property>
<property name="hibernate.default_schema">YOURSCHEMA</property>
Dann sollte das hier auch funktionieren:
Code:
<property name="hibernate.connection.username">qqrhldb</property>
<roperty name="hibernate.connection.password">...</property>
<property name="hibernate.default_schema">qqrhldb</property>
Ich tippe, der Verbindungsname 'Umweltlabor' ist nur der frei wählbare Anzeigename in der IDE und hat keinen Einfluss.
Michael Justin

Geändert von mjustin (12. Mai 2015 um 13:26 Uhr) Grund: Anführungszeichen korrigiert
  Mit Zitat antworten Zitat
BörmtDieBuse

Registriert seit: 25. Mär 2015
26 Beiträge
 
#4

AW: Hibernate und DAO und Reports

  Alt 12. Mai 2015, 14:10
Ich hab gerade herausgefunden, das wenn ich mit Hibernate auf die DB zugreif und eine Tabelle hinzufüge.
Dann wird es automatisch auf beiden "DB" Namen hinzugefügt. Also in "Test" und in "Umweltlabor".

Ich darf wahrscheinlich "Test" und Umweltlabor" nicht als DBs betrachten.
Die eigentliche DB ist "qqrhldb" und es gibt keine Möglichkeit zwischen den Verbindungsnamen durchzuwechseln.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Hibernate und DAO und Reports

  Alt 12. Mai 2015, 14:45
Ich darf wahrscheinlich "Test" und Umweltlabor" nicht als DBs betrachten.
Die eigentliche DB ist "qqrhldb" und es gibt keine Möglichkeit zwischen den Verbindungsnamen durchzuwechseln.
Also bei Oracle ist es so, dass mehrere User (Schemata) in einer DB liegen können und es auch von Anfang tun, wenn man eine neue erzeugt (per default), also eine Hand voll Standarduser, dann noch die, die man selber anlegt.

Jeder Benutzer/Schema hat eigene Objekte, Datenmodell, Tabellen und Zugriffsrechte. Eine DB hat viele Nutzer, eine Installation kann viele DB haben, ein Rechner kann viele Installationen (also unterschiedliche Oracle Versionen oder Konfigurationen) haben.

Ich hab keine Ahnung von Hibernate, aber
in Deinem Fall ist laut Bild http://www.delphipraxis.net/attachme...rts-schema.png
der Nutzer qqrhldb, der Verbindungsname Umweltlabor oder Test ist eine Hibernatesache, die beliebig vergeben werden kann und nichts mit einer Oracle DB zu tun hat. Kann heißen wie es will und alles auf verschiedene oder die gleiche DB gehen und
auf den gleichen Nutzer!
So sieht es zumindest bei Dir (soweit man das auf dem Bild erkennen kann) so aus und das ergibt scheinbar den Effekt, dass es auf "beiden" Systemen "eingespielt" wird.
Gruß, Jo
  Mit Zitat antworten Zitat
BörmtDieBuse

Registriert seit: 25. Mär 2015
26 Beiträge
 
#6

AW: Hibernate und DAO und Reports

  Alt 13. Mai 2015, 07:48
Also bei Oracle ist es so, dass mehrere User (Schemata) in einer DB liegen können und es auch von Anfang tun, wenn man eine neue erzeugt (per default), also eine Hand voll Standarduser, dann noch die, die man selber anlegt.

Jeder Benutzer/Schema hat eigene Objekte, Datenmodell, Tabellen und Zugriffsrechte. Eine DB hat viele Nutzer, eine Installation kann viele DB haben, ein Rechner kann viele Installationen (also unterschiedliche Oracle Versionen oder Konfigurationen) haben.

Ich hab keine Ahnung von Hibernate, aber
in Deinem Fall ist laut Bild http://www.delphipraxis.net/attachme...rts-schema.png
der Nutzer qqrhldb, der Verbindungsname Umweltlabor oder Test ist eine Hibernatesache, die beliebig vergeben werden kann und nichts mit einer Oracle DB zu tun hat. Kann heißen wie es will und alles auf verschiedene oder die gleiche DB gehen und
auf den gleichen Nutzer!
So sieht es zumindest bei Dir (soweit man das auf dem Bild erkennen kann) so aus und das ergibt scheinbar den Effekt, dass es auf "beiden" Systemen "eingespielt" wird.
Ok, ich begnüg mich jetzt einfach damit, das ich nicht zwischen den Verbindungsnamen wechseln kann.
Ich habe Test und Umweltlabor selber angelegt um meine Programmierung bei "Test" testen zu können bevor ich final auf Umweltlabor zugreif, deswegen wollte ich seperat zugreifen können.


Ich hätte aber noch eine andere Frage wegen Redundanzen.
Ich habe mehrere Tabellen mit einer Spalte Barcodes. Die Spalte Barcodes hat bei jeder Tabelle ein verändertes Format.
Natürlich hab ich aber bei jeder Tabelle auch eine Spalte ID. So ein Barcode setzt sich aber zusammen aus einem Präfix und der ID, z.B. PV_1.
Präfix = PV, ID = 1

Da ID und Barcode in ein und der selben Tabelle sind, wird ja die Redundanz verletzt. Gibt Oracle bei sowas eine Fehlermeldung aus?
Ich würde ungern die Spalte Barcode wegnehmen, da ich den kompletten Barcode in meiner Datenbank haben möchte und die ID wegzulassen kommt mir ihrgenwie falsch vor.
Sorry wenn das eine dumme Frage sein sollte, aber ich habe keine Erfahrung in Datenbanken.
Schonmal Danke im Vorraus.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Hibernate und DAO und Reports

  Alt 13. Mai 2015, 09:52

Ich hätte aber noch eine andere Frage wegen Redundanzen.
Ich habe mehrere Tabellen mit einer Spalte Barcodes. Die Spalte Barcodes hat bei jeder Tabelle ein verändertes Format.
Natürlich hab ich aber bei jeder Tabelle auch eine Spalte ID. So ein Barcode setzt sich aber zusammen aus einem Präfix und der ID, z.B. PV_1.
Präfix = PV, ID = 1

Da ID und Barcode in ein und der selben Tabelle sind, wird ja die Redundanz verletzt. Gibt Oracle bei sowas eine Fehlermeldung aus?
Ich würde ungern die Spalte Barcode wegnehmen, da ich den kompletten Barcode in meiner Datenbank haben möchte und die ID wegzulassen kommt mir ihrgenwie falsch vor.
Ich glaub, ich hab die Frage nicht verstanden.
Wenn 2 Spalten gemeinsam ein eindeutiger Schlüssel sein sollen, kannst Du einen unique constraint definieren, am besten mit dem entsprechenden unique index.
Welche Redundanz wird wann verletzt? Meinst Du vielleicht die Eindeutigkeit wird verletzt?
Möchtest Du beide Spalten zu einer zusammenfassen?
Gruß, Jo
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: Hibernate und DAO und Reports

  Alt 12. Mai 2015, 12:16
*blödsinn geschrieben*
Gruß, Jo

Geändert von jobo (12. Mai 2015 um 12:18 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr.
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