Guten Tag allerseits!
Bin neu hier und hab mich begeistert im Forum umgesehen. Nun ist es soweit dass ich meine erste Frage platzieren will. Man verzeihe mir bitte anfängliche Newbie Fehler in diesem Forum 
Also, zu meinem Problem.
Ich habe auf einem Win 2003 Server MySQL für Win 5.1 installiert. MySQL läuft als Service.
Nun möchte ich ein Batchfile ausführen, welches sich einloggt und automatisch ein .sql script ausführt. Leider bleibt aber die Kommandozeile wie unten gezeigt stehen:
mysql>
hier der Code aus dem Batchfile:
CD C:\SOLARIS\bin\
mysql.exe -u root -h localhost solaris --password=xxx --force
. script.sql
pause
wobei ‚solaris‘ der Name der Datenbank ist und
C:\SOLARIS\ der Pfad indem MySQL installiert ist.
Ich versteh nun nicht ganz, wieso die Kommandozeile quasi ‚stehen‘ bleibt (mysql>:wink: und mein angefügtes Script nicht ausführt.
Weiss jemand Rat?
Besten Dank an alle welche sich die Mühe machen mir zu helfen!
Guten Tag allerseits!
Schau mal da 
http://dev.mysql.com/doc/refman/5.1/en/batch-mode.html
hi
jap, das habe ich bereits durchgekaut 
Irgendwie klappt das aber nicht. Er scheint quasi stehen zu bleiben anstatt das .sql File auszuführen.
Grüsse
bei dem hier hats geklappt http://www.phpforum.de/archiv_62284_MySQL@command@pe…
aber er hat immer volle pfadangaben genutzt
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
villeicht liegts auch an deinem script 
When using mysql in batch mode there is an odd requirement that cost me hours. Your .sql file cannot contain any #comment lines. Delete them and importing will be a breeze. There is no indication that this is the problem. However, experimentation revealed this to be the cause.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
mhm, diesen artikel hab ich beim googlen auch schon gefunden und ausprobiert. Ist ja eigentlich ne erweiterte Erklärung des mysql.com Beitrages. Klappt aber auch nicht. Keine Ahnung was da bei mir falschrum geht 
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
das isses leider auch nicht 
anbei mal das script:
CREATE TABLE loyalty_step1
SELECT
c.COUNTRY,
c.CUSTOMERID AS id,
c.CONTACPERSONFAMILYNAME,
c.CONTACTPERSONFIRSTNAME,
c.FIRSTNAME,
c.FAMILYNAME,
g.GSMANUMBER AS gsma,
c.EXTENSION AS wlext,
c.FirstOfField12 AS ‚wlext2‘,
c.ADDRESS AS ‚Address1‘,
c.POSTALCODE AS ‚Address2‘,
c.CITY AS ‚Address3‘,
c.CITY AS ‚City‘,
wp.CREATIONTIME AS ‚Fixed Creation‘,
‚Broadband‘,
pc.CreationTime AS ‚Prepaid mobile‘,
g.GSMPPCHANGEDATE AS ‚Postpaid mobile‘,
c.ARPU,
c.PRICEPLAN,
c.LASTCALLDATE
FROM
solaris.main_cust_grouped c,
solaris.main_gsm_cust g,
solaris.main_wireline_product wp,
solaris.main_pp_cust pc
WHERE
c.CUSTOMERCATEGORY LIKE ‚%dsl%‘
AND c.CUSTOMERID = g.CUSTOMERID
GROUP BY
c.CUSTOMERID
ORDER BY rand()
LIMIT 0,2500;
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Thomas,
das SQL-Script ist ein Kreuzprodukt von vier Tabellen, da Du nur für zwei Tabellen eine Where-Bedingung formulierst. Bis Du sicher, dass das Statement überhaupt funktioniert? Oder ist Dir die Antwortzeit nur zu lang? Bitte probiere das Statement erstmal unter phpMyAdmin aus.
MfG Georg V.
hi georg
ja, dass das Script nicht geht musste ich soeben auch feststellen. Habe es nun modifiziert und in mehrere Schritte aufgeteilt. Das Problem ist aber damit nicht gelöst. So wie ich das sehe, geht das Batchfile gar nie bis zu dem Punkt an dem das Script ausgeführt werden soll. Wenn ich in der Kommandozeile direkt:
. script.sql
eingebe, funktioniert es.
Grüsse, Tom
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
wie genau rufst du es denn bis jetzt auf,
ein einfach Select sollte doch reichen zum probieren.
? was sagt die MySQL LogDatei, wird das script gefunden etc, wohin soll die ausgabe etc.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
also.
das Batchfile sieht so aus:
CD C:\SOLARIS\bin\
mysql.exe -u root -h localhost solaris --password=pwtta5a9
. script.sql
und im ‚script.sql‘ steht folgendes drinn (habs abgespeckt um die Fehlerquote zu verringern):
SELECT *
FROM solaris.main_gsm s
WHERE s.main_gsm_cust.gsmanumber LIKE ‚%07721%‘
die Logfiles schau ich mir gleich nach dem Essen an.
Gruss, und guten Hunger
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Also ich sach mal, tu es doch wie es beschrieben wird .
folgendes funktioniert super gut
cd C:\wamp\bin\mysql\mysql5.0.45\bin\
mysql.exe -u root -h localhost testbank c:\out.txt
das erste ist der pfad zur mysql.exe , das zweite ist das script mit pfad und das dritte ist die ausgabe mit pfad.
Ergo immer mit Pipes arbeiten 
cd C:\wamp\bin\mysql\mysql5.0.45\bin\
mysql.exe -u root -h localhost testbank
c:\out.txt
Ergo immer mit Pipes arbeiten 
hat bestens geklappt! besten dank für eure hilfe!!