# MySql



## steff3 (11. Apr 2006)

ich habe bereits mit acces eine datenbank erstellt und kann diese auch lesen/schreiben

was ich aber absolut nicht versteh ist was ich mit dem mysql server machen soll 
ich habe eine console...
wie lege ich damit aber eine neue datenbak an?
acces macht es mir ja einfach aber mysql  ???:L 

ich würde auch gerne wissen wie ich diese datenbank dann windows bekannt machne kann und ob die dann auch als datei existiert, wie z.B. test.mdb


----------



## André Uhres (11. Apr 2006)

create database xy;
-->legt zunächst einen Ordner xy an.
Da hinein kommen dann später die Dateien, getrennt nach tables.

Achja, unter Windows, kannst du die database dann als ODBC-Datenquelle bekanntmachen
(mit C:\WINDOWS\system32\odbcad32.exe).


----------



## Caffè Latte (11. Apr 2006)

... für ODBC muss aber erst der ODBC-Treiber installiert sein. Den kann man runterladen von www.mysql.com.


----------



## Guest (11. Apr 2006)

dann kann ich hier vlt mich mal einhaken.
Wie macht man es denn, wenn die db nicht lokal ist sondern auf einem Server liegt - z.B. im Netzwerk. wie funktioniert da die Verbindung?


----------



## André Uhres (11. Apr 2006)

Anonymous hat gesagt.:
			
		

> ..Wie macht man es denn, wenn die db nicht lokal ist sondern auf einem Server liegt - z.B. im Netzwerk. wie funktioniert da die Verbindung?


Das kann man mit dem erwähnten tool konfigurieren (odbcad32.exe).


----------



## Guest (11. Apr 2006)

André Uhres hat gesagt.:
			
		

> Anonymous hat gesagt.:
> 
> 
> 
> ...



sry, da hab ich mich scheinbar nicht konkret ausgedrückt.  Leider haben wir hier eine Kombi, die uns jedes mal ein image zurückspielt - das heißt ich/wir können nicht dauerhaft etwas über ein tool auf einem lokalen rechner festlegen. Ich gehe auch nicht davon aus, das der admin uns da entgegen kommt (es geht um eine schule..).


----------



## André Uhres (11. Apr 2006)

Anonymous hat gesagt.:
			
		

> .. ich/wir können nicht dauerhaft etwas über ein tool auf einem lokalen rechner festlegen. Ich gehe auch nicht davon aus, das der admin uns da entgegen kommt (es geht um eine schule..).


Dann sag einfach mal dem admin was du machen willst. 
Er weiss schliesslich am besten ob das geht und wie.


----------



## Guest (11. Apr 2006)

nunja, das mag in der theorie stimmen - in unserem fall ist der betreffende admin eher nicht in der lage, uns konkret zu sagen, was möglich ist oder nicht. Man sollte vlt erwähnen das wir schüler sind - und von daher natürlich keine professionellen Ansprüche stellen können und wollen. Dennoch íst die realisierung uns überlassen - mit der vorgabe das die betreffenden systeme so genutzt werden.


----------



## André Uhres (11. Apr 2006)

Anonymous hat gesagt.:
			
		

> ...in unserem fall ist der betreffende admin eher nicht in der lage, uns konkret zu sagen, was möglich ist oder nicht. ... Dennoch íst die realisierung uns überlassen - mit der vorgabe das die betreffenden systeme so genutzt werden.


Sry, das Thema wird mir zu heikel  *schnellwegrenn*


----------



## steff3 (11. Apr 2006)

wenn ich das über die windows datenverwaltung eintrage und den code benutze:

```
String url = "jdbc:odbc:rootdatabase";
con = DriverManager.getConnection( url, "root", "root" );
```

dann funktioniert das 




```
con = DriverManager.getConnection("jdbc:odbc:Driver={MySQL ODBC 3.51 Driver};//192.168.178.20:3306/rootdatabase","root","root");
```

aber mit dem code oben bekomme ich nur 

Fehler bei Tabellenabfragejava.sql.SQLException: [MySQL][ODBC 3.51 Driver][mysqld-5.0.19-nt]No database selected ???:L


----------



## André Uhres (12. Apr 2006)

```
con = DriverManager.getConnection("jdbc:odbc:Driver={MySQL ODBC 3.51 Driver}","root","root");
Statement stmt = con.createStatement();
stmt.executeUpdate("USE rootdatabase");
```
Oder du gibst beim select die database mit an:

```
con = DriverManager.getConnection("jdbc:odbc:Driver={MySQL ODBC 3.51 Driver}","root","root");
String sql = "Select * from rootdatabase.tabellenname";
```


----------



## Caffè Latte (12. Apr 2006)

BTW: die ODBC-Brücke zu nutzen halte ich bei MySQL für blöd, da es von MySQL einen nativen JDBC-Treiber gibt, sogar vom Typ IV mit einem vollständigen JDBC-Funktionssatz.


----------



## André Uhres (12. Apr 2006)

Caffè Latte hat gesagt.:
			
		

> BTW: die ODBC-Brücke zu nutzen halte ich bei MySQL für blöd,
> da es von MySQL einen nativen JDBC-Treiber gibt, sogar vom Typ IV mit einem vollständigen JDBC-Funktionssatz.


ODBC ist was man haben muss.
JDBC-Treiber? Für einfache Anwendungen geht's ja noch.
Aber dann kommen Sachen wie _auto_increment _ und er lässt dich prompt im Stich.


----------



## Caffè Latte (12. Apr 2006)

http://dev.mysql.com/tech-resources/articles/autoincrement-with-connectorj.html


----------



## André Uhres (12. Apr 2006)

Caffè Latte hat gesagt.:
			
		

> http://dev.mysql.com/tech-resources/articles/autoincrement-with-connectorj.html


Danke für den Link. Ich mach aber lieber mit ODBC. Ist sicherer.


----------



## Caffè Latte (12. Apr 2006)

ODBC ist von Microsoft und damit Teufelszeug ... 

Mal im Ernst: ODBC wird meist nur unter Windows eingesetzt. Also spricht das gegen die Plattformunabhägigkeit. Weiterhin können Applets ODBC nur begrenzt nutzen (über das Security API), das sie normalerweise keinen Zugriff auf lokale Ressourcen haben.

Aber im Grunde kann ja jeder machen was er will ...


----------



## Caffè Latte (12. Apr 2006)

ups ... doppelt. Kann gelöscht werden.


----------

