# DB-Verbindung zu DB in Projektordner möglich?



## Marie Curie (2. Jan 2008)

Hallo zusammen,

ich möchte Verbindung zu einer sql-Datenbank aufbauen, die nicht im localhost liegt, sondern meinen bei Java-Projektdateien (Workbench) liegt.

Wie kann ich da die Verbindung aufbauen? 


```
Class.forName("com.mysql.jdbc.Driver").newInstance();

conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/"+DBNAME+"?user="+DBUSER+"&password="+PASSWORD);
```

Normalerweise würde ich es ja so machen.. doch welchen Pfad muss ich da angeben (falls es überhaupt geht...) 

Danke im Voraus und liebe Grüße,

Marie


----------



## SlaterB (2. Jan 2008)

hier geht es allein um die IpAdresse + Port,
das Verzeichniss auf dem Rechner spielt keine Rolle


----------



## The_S (2. Jan 2008)

und deine Java-Projektdateien liegen nicht auf deinem Rechner :shock: !?


----------



## Marie Curie (2. Jan 2008)

SlaterB hat gesagt.:
			
		

> hier geht es allein um die IpAdresse + Port,
> das Verzeichniss auf dem Rechner spielt keine Rolle



Was würde ich dann angeben?


----------



## SlaterB (2. Jan 2008)

die IpAdresse und den Port

falls deine Frage lautet: wie konfiguriere ich diesen anderen/ zweiten Server richtig?
dann kann ich da nicht weiterhelfen, was spricht dagegen, die gleiche Adresse zu nehmen?

edit: du hast sogar den Port weggelassen, dann wird wohl der Standard-MYSQL-Port genommen,
hast du nun eine oder 2 DBs?
läuft es denn nciht mit dieser Adresse? ist der Server eingeschaltet?


----------



## The_S (2. Jan 2008)

"localhost" ist kein Verzeichnis. "localhost" ist der Name deines Rechners. Praktisch die IP 127.0.0.1 (loopback).


----------



## Marie Curie (2. Jan 2008)

Nein nein, ich glaub du verstehst mich falsch... 

... ich will es nich über den localhost laufen lassen, sondern meinen projektdateien hinzufügen. 

Wenn du ne MS Access DB hast, speicherst du die in ner Datei. Beispielsweise über die JDBC-ODBC Bridge von Windows kannst du dann mit der DB eine Verbindung aufbauen, sie kann dabei aber in einem beliebigen lokalen Verzeichnis liegen, voraussetzung ist nur, dass das verzeichnis als datenquelle in windows angegeben wurde...


----------



## maki (2. Jan 2008)

Du scheinst nicht zu verstehen Marie, 

es geht nicht um Dateien, sondern um Datenbanken, die man über das Netzwerk erreicht.



> Wenn du ne MS Access DB hast,


Schlechtes Beispiel, da Access meist nicht als "echte" DB wahrgenommen wird


----------



## Marie Curie (2. Jan 2008)

heeeh  :bae: 

ok... ich versteh wahrscheinlich echt nicht... 

die db muss nicht übers netzwerk erreichbar sein, wichtig is nur, dass meine java klasse verbindung zu ihr aufbauen kann... und dafür muss ich trotzdem nen port angeben?


----------



## maki (2. Jan 2008)

> ok... ich versteh wahrscheinlich echt nicht... icon_wink.gif


Offensichtlich 


> die db muss nicht übers netzwerk erreichbar sein,


Doch, genau das muss sie, sonst geht das nicht:


> dass meine java klasse verbindung zu ihr aufbauen kann


----------



## The_S (2. Jan 2008)

Den Port gibst du bei der Installation von MySQL an. Und dann einfach localhost und den Port angeben.


----------



## ARadauer (2. Jan 2008)

einfach gesagt, eine msql datenbank besteht nicht aus einer datei wie zb eine access datebank.
das ist viel kompliziertert, es läuft ein program, der server, der den ganzen komplizierten datenbank schmu für uns macht, wir müssen nur anfragen in sql hinschicken. dazu muss man aber wissen auf welchem rechner (ip) das program läuft und auf welchen port es hört. 

die dateien der datenbank irgendwo hinkopieren und dann wie eine access datenbank ansprechen, funktioniert nicht so einfach.

was willst du eigentlich? musst du etwas für die schule abgeben und du willst die db mitabgeben? dann exportierst du dir am besten die mysql datenbank über phpmyadmin oder ein ähnliches tool und dein prof muss es in seiner db importieren....


----------



## HoaX (2. Jan 2008)

oder du steigst auf eine andere datenbank um wie z.B. hsqldb, h2, derby, ... die brauchen keinen server und du kannst die daten in deinem projektverzeichnis ablegen lassen.

btw ist das daten im projektverzeichnis anlegen/bearbeiten seit windows vista eh etwas, was man lieber vermeinden sollte - gibt nur ärger. außer man installiert das program woanders hin als nach "c:\programme" öä.


----------



## maki (2. Jan 2008)

@Marie: Benutzt du eine zentrale DB oder hat jeder Anwender seine eigene, unabhängige DB?


----------



## Marie Curie (3. Jan 2008)

aaalso...

...nein es ist kein Schulprojekt 

ich habe bisher nur mit Access-DBs gearbeitet (zwangsweise), diese immer per ODBC Datenquelle in Windows angesprochen.
Mit mySQL DBs hab ich zwar auch gearbeitet, jedoch nur über den localhost.
(Und ich war der Meinung, dass die DB der exportierte Code aus phpmyadmin ist  )

Rein aus Interesse:
Schreibe ich ein Programm, das auf eine DB zugreift, wäre es doch geschickter, ich könnte diese mit in eine jar packen.

Wusste aber nicht, dass das immer über den localhost laufen muss

LG


----------



## SlaterB (3. Jan 2008)

tja, wäre geschickt, aber wie soll das funktionieren?
eine DB muss laufen und mit anderen Programmen kommunizieren können,
das sind zwei nichttriviale Dinge


----------



## The_S (4. Jan 2008)

Es gibt schon Datenbanken, die du bei deinem Programm mitliefern kannst, ohne dass der User diese Installieren muss. Aber MySQL gehört eben nicht  dazu  . Eine solche Datenbank wäre zum Beispiel die HSQLDB.


----------



## Marie Curie (4. Jan 2008)

Danke für den Tipp, werde mir diese "Art" Datenbank mal anschauen, hab bisher noch nicht viel davon gehört!

Danke für eure Posts und Hilfe/Anregungen etc 

Liebe Grüße


----------

