Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem mit CREATE DATABASE (https://www.delphipraxis.net/118643-problem-mit-create-database.html)

Sebbel 12. Aug 2008 06:54

Datenbank: MySQL • Version: 5.0.51b • Zugriff über: MySQL Direct

Problem mit CREATE DATABASE
 
Hallo,

ich will mit meinem Programm eine MySQL-Datenbank erstellen, um von anderen Programmen zur Datenbankverwaltung bei der Installation meines Programms unabhängig zu sein.
Zur Kommunikation mit dem lokalen Server benutze ich MySQL-Direct (dürfte in diesem speziellen Fall wohl zweitrangig sein)

Nun, wenn ich also meinen Befehl
SQL-Code:
CREATE DATABASE `testname`
über die übliche Function an den Server schicke, bekomme ich vom Server die Meldung "Can't create Database 'test'; Database exists". Die Datenbank existiert so natürlich nicht.
Mit CREATE TABLE (...); funktioniert das Ganze einwandfrei.

Ich benutze MySQL 5.0.51b, hier auf Windows XP, ganz normal über den Installer installiert und das Root-Passwort über den anschließenden Konfigurator gesetzt.

Woran liegts nun, dass ich keine Databases erstellen darf (mit einem SQL-Manager gehts, und der hat ja auch keine anderen Zugangsdaten als ich - oder?)


Über jede noch so hilfreiche Antwort würde ich mich sehr freuen

mkinzler 12. Aug 2008 06:57

Re: Problem mit CREATE DATABASE
 
Und bist du sicher das es keine Datenbank dieses Namens gibt?

Sebbel 12. Aug 2008 07:10

Re: Problem mit CREATE DATABASE
 
Ja, habe das in diversen Variationen ausprobiert.
Jetzt kommt auch der Fehler "Unknown Database 'testdatenbankname'"

marabu 12. Aug 2008 07:16

Re: Problem mit CREATE DATABASE
 
Moin,

nur um sicher zu gehen: Du kennst den Unterschied zwischen CREATE DATABASE und CREATE TABLE?

Freundliche Grüße

DeddyH 12. Aug 2008 07:18

Re: Problem mit CREATE DATABASE
 
AFAIR wird z.B. bei XAMPP automatisch eine Datenbank mit Namen "test" angelegt. Du könntest es ja mal mit einer anderen Syntax versuchen.
SQL-Code:
CREATE DABASE IF NOT EXISTS `Wuppdi`

Sebbel 12. Aug 2008 07:23

Re: Problem mit CREATE DATABASE
 
Ehm, *hust*

das mit CREATE TABLE habe ich hier nur erwähnt, um zu zeigen, dass der Fehler wohl nicht an der Schnittstelle zwischen Programm uns Server liegt...
Zitat:

Zitat von marabu
Moin,

nur um sicher zu gehen: Du kennst den Unterschied zwischen CREATE DATABASE und CREATE TABLE?

Freundliche Grüße


Ehm, *hust*

das mit CREATE TABLE habe ich hier nur erwähnt, um zu zeigen, dass der Fehler wohl nicht an der Schnittstelle zwischen Programm und Server liegt...



Zitat:

Zitat von DeddyH
AFAIR wird z.B. bei XAMPP automatisch eine Datenbank mit Namen "test" angelegt. Du könntest es ja mal mit einer anderen Syntax versuchen.
SQL-Code:
CREATE DABASE IF NOT EXISTS `Wuppdi`


Hey, super. Das funktioniert. Jetzt frag ich mich aber: Warum? Wo ist da der große unterschied?
Vielen vielen Dank

DeddyH 12. Aug 2008 07:28

Re: Problem mit CREATE DATABASE
 
Die Unterschiede sind folgende:

- ich habe 2 Buchstaben vergessen :oops: , das muss natürlich DATABASE heißen und nicht DABASE
- die DB wird nur angelegt, wenn sie noch nicht existiert, dadurch kommt es zu keinen Fehlermeldungen. Das kann man z.B. sehr gut in Backup/Restore-Scripten verwenden.

Sebbel 12. Aug 2008 15:39

Re: Problem mit CREATE DATABASE
 
Ich musste grade feststellen, dass dies eine einmalige Aktion war. Jetzt geht es wieder nicht (Fehlermeldung immer noch "Unknown Database,...)
Ich habe unmitelbar vorher diverse Befehle über die Konsole ausprobiert habe (alle von dieser Seite)

Kann es vielleicht mit einem dieser Befehle zusammenhängen? Ich schaffe es leider nicht mehr zu rekonstruieren.

DeddyH 12. Aug 2008 15:46

Re: Problem mit CREATE DATABASE
 
Was sagt denn Show Databases?

Sebbel 12. Aug 2008 16:13

Re: Problem mit CREATE DATABASE
 
Danke, dein show databases hat mir aufgezeigt wo der fehler liegt bzw. mich drauf aufmerksam gemacht.

Will ich zu einer Datenbank verbinden die nicht existiert, bzw. zu keiner Datenbank verbunden bin, kann ich auch nicht einmal eine Datenbank erstellen. Und da ich in meinem Programm immer zuerst den künftigen Datenbanknamen einlese versuchte er ohne verbindung ebendiese zu erstellen. Genauso verhält es sich beim ersten Start des Programmes. Es hat noch garkeine Datenbank, also kann ich mich auch nicht am MySQL server anmelden um diese Datenbank überhaupt erst zu erstellen (mein gott klingt das kompliziert)

Zum Glück liefert MySQL ja standardmäßig die Datenbank "test" mit. Werde das also so lösen, dass er künftig vor dem erstellen irgendwelcher Datenbanken zur "test" verbindet und dann nach dem erstellen zur neuen Datenbank


da muss man erst mal drauf kommen.


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

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