Entwickler-Ecke

Datenbanken - SQL Verbindung


bobi - Do 21.06.07 08:32
Titel: SQL Verbindung
Hi, kann mir einer sagen, wie ich bei meiner Datenbankverbindung angeben kann wo sich die Datenbank befindet (einen Pfad) und wie die Datenbank genannt wurde (z.B. emp usw.)?


Bis jetzt habe ich nur die Einstellungen für den User einpflegen können. (User ID, Password).


Und als zweites, wie erstelle ich eine vernünftige Abfrage, um zu überprüfen ob es die Datenbank überhaupt gibt?
Ich habe da schon einige Versuche getestet, aber leider nichts davon war erfolgreich.




Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TWinForm_Inventar_Anzeige.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
  ds.Clear;
  conn.Open;
  oda.Fill(ds,db1);
  conn.Close;
  DataGrid1.SetDataBinding(ds, db1);
end;

procedure TWinForm_Inventar_Anzeige.TWinForm_Inventar_Anzeige_Load(sender: System.Object;
  e: System.EventArgs);

begin
  conn:=OracleConnection.Create('user id='+userid+'; password='+password);
  oda:=OracleDataAdapter.Create('Select * from '+db1, conn);
  ocb:=OracleCommandBuilder.Create(oda);
  ds:=DataSet.Create(db1);
end;


FiceGoesDelphi - Do 21.06.07 08:51

Sind das nicht Eigenschaften der Kompo ?!
Also wo du das alles einstellen kannst.


mkinzler - Do 21.06.07 09:31

http://msdn2.microsoft.com/de-de/library/system.data.oracleclient(vs.80).aspx


jasocul - Do 21.06.07 09:38

Hallo bobi,

zu Oracle-Datenbanken gibt es keinen "Pfad". Eine Tabelle (emp) ist keine Datenbank.

Bei der OracleConnection musst Du noch die "Data Source" als Parameter angeben. Das ist im Prinzip Dein "Pfad".
Deine Tabelle "emp" ist das, was Du im DataAdapter als "db1" angegeben hast.

Als Tipp am Rande:
Nimm nicht Delphi, um .NET-Anwendungen zu schreiben. Da bist Du nie auf dem aktuellen Stand der Dinge. Ich glaube Delphi unterstützt immer noch nicht .NET 2.0.


mkinzler - Do 21.06.07 09:42

Zitat:
Als Tipp am Rande:
Nimm nicht Delphi, um .NET-Anwendungen zu schreiben. Da bist Du nie auf dem aktuellen Stand der Dinge. Ich glaube Delphi unterstützt immer noch nicht .NET 2.0.
Aber bald


jasocul - Do 21.06.07 09:58

Und wann wird Version 3.0 unterstützt? Muss man da wieder ein paar Jahre drauf warten? .NET und Delphi ist für mich ein No-Go, solange das nicht zeitnah und ohne enorme Update-Kosten integriert wird.

Sorry, für das OT.


UGrohne - Do 21.06.07 09:59

user profile iconmkinzler hat folgendes geschrieben:
Zitat:
Als Tipp am Rande:
Nimm nicht Delphi, um .NET-Anwendungen zu schreiben. Da bist Du nie auf dem aktuellen Stand der Dinge. Ich glaube Delphi unterstützt immer noch nicht .NET 2.0.
Aber bald

Aber nur mit Aufpreis. Und bis dahin ist .NET 3.5 draußen ...


alzaimar - Do 21.06.07 10:45

Ja Ja! Delphi.NET bashing!

Aber Recht habt ihr...


bobi - Do 21.06.07 10:47

Das Problem ist das ich sehr ungern die Komponenten aus Delphi verwende, ich schreibe mir die gerne selber, z.B habe ich keine OracleConnection, sondern habe mir diese erst im Code selber erstellt.
Das hatte auch den Grund, damit ich erst da die Verbindungsdaten eintragen kann.

Es müsste halt da noch eine Möglichkeit geben den DB Namen und auch den Pfad angeben zu können, was man normal in den Komponenten stehen würde.

Wäre halt schön wenn es das was geben würde, da ich auch diese dinge in meinen Config mit einstellen möchte.



MFG: bobi


jasocul - Do 21.06.07 12:04

user profile iconbobi hat folgendes geschrieben:
Das Problem ist das ich sehr ungern die Komponenten aus Delphi verwende, ich schreibe mir die gerne selber, z.B habe ich keine OracleConnection, sondern habe mir diese erst im Code selber erstellt.
Das hatte auch den Grund, damit ich erst da die Verbindungsdaten eintragen kann.
Würde ich in diesem Fall auch nicht anders machen.

user profile iconbobi hat folgendes geschrieben:
Es müsste halt da noch eine Möglichkeit geben den DB Namen und auch den Pfad angeben zu können, was man normal in den Komponenten stehen würde.
Hast Du oben gelesen, was ich geschrieben habe? Außer der "User id" und "password" musst Du noch den Parameter "Data Source" füllen. Wie der Wert des Parameters heißt, hängt von Deiner Oracle-Client-Installation ab. Das ist aber keine Pfad-Angabe. Dein DB-Name (emp - Ist übrigens kein DB-Name, sondern ein Tabellenname) musst Du in Dein SQL-Statement einbauen. In Deinem Source nimmst Du dafür ja die Variable "db1". Wenn Du die Variable vorher mit emp füllst, sollte es funktionieren.


bobi - Do 21.06.07 12:38

jup danke stimmt, hatte das erst überlessen ^^



ehm dann noch eine Frage, wie sieht das aus wenn ich eine Datenbank über das Netzt ansprechen möchte.

Kann ich das dann auch in data source eintragen?