VisualBasic MySQL Datenbank importieren mit VB.Net

walkingtoaster

Lt. Junior Grade
Registriert
Mai 2006
Beiträge
411
Hallo,

ich möchte eine MxSQL Datenbank über eine Form (bei Buttonklick) importieren.

das ist der VB-Code den ich dafür habe

Process.Start("" & AD.mysqlPath & "mysql.exe", "-u root -pinp-e.com inp < C:\IFC Empty SQL DB.sql")

in AD.mysqlPath steht der Pfad zu mysql.exe.

Wenn ich diesen Befehl über die Eingabeaufforderung laufen lasse funktioniert es prima

C:\Programme\MySQL\MySQL Server 5.5\bin>mysql -u root -pinp-e.com inp < "c:\IFC
Empty SQL DB V04.sql""

weiß jemand woran das liegen kann?

beim googlen habe ich gefunden das
< durch -r zu ersetzen geht aber immernoch nicht
 
Zuletzt bearbeitet:
Hi,

dürfte an den nichtvorhandenen Anführungszeichen bei der sql-Datei liegen.

In deinem Fall führst du folgenden Befehl aus:

C:\Programme\MySQL\MySQL Server 5.5\bin>mysql -u root -pinp-e.com inp < c:\IFC
Empty SQL DB V04.sql

Mfg
Spezi
 
hi,

ja danke das habe ich auch schon gemerkt leider war das aber nicht der Grund

test = """" & AD.mysqlPath & "mysql.exe"""
test2 = " -u root -pinp-e.com inp ""C:\IFC Empty SQL DB V04.sql"""
Process.Start(test, test2)

so sieht mein aktuelles Statement aus, das ist exact das gleiche wie in der Eingabeaufforderung steht nur dass es über den VB.Code nicht funktioniert...

Noch jemand einen Tipp?

Edit: Hab was gefunden mit dem der Import funktioniert

Dim myProcess As New Process()
myProcess.StartInfo.FileName = "cmd.exe"
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.WorkingDirectory = "C:\Programme\MySQL\MySQL Server 5.5\bin\"
myProcess.StartInfo.RedirectStandardInput = True
myProcess.StartInfo.RedirectStandardOutput = True
myProcess.Start()
Dim myStreamWriter As StreamWriter = myProcess.StandardInput
Dim mystreamreader As StreamReader = myProcess.StandardOutput
myStreamWriter.WriteLine("mysql -u root -ppassword data < ""C:\IFC Empty SQL DB V04.sql""")
myStreamWriter.Close()
myProcess.WaitForExit()
myProcess.Close()
 
Zuletzt bearbeitet:
Zurück
Oben