Ich wühle mich nun schon eine Weile durch verhältnismäßig wenig Code, aber ich komm leider nicht da hin, wo ich hin möchte. Da ich durch einiges an googlen öfter auch mal in diesem Forum gelandet bin und mir auch gute Infos hier rausholen konnte, dachte ich mir, dass ich doch direkt mal einen Beitrag erstelle. Möglicherweise hat hier ja jemand den richtigen Gedanken oder sieht, was ich falsch gemacht, bzw. übersehen habe.
Es geht darum, dass ich eine Textdatei bekomme, aus der ich ein paar Infos raushole, diese etwas weiterverarbeite und anschließend in eine Datenbank schreibe. Hier der Testcode bisher:
@echo off
set pfad=selectline-pc\selectline
set user=SA
set pass=MEINPASS
set name=SL_MGBK
set gewicht=27
for /l %%k in (1,1,4) do (
sqlcmd -I -M -U %user% -P %pass% -S %pfad% -d %name% -Q "insert into paket(belegtyp, belegnummer, zaehler, paketnummer, gewicht) values ('L', 1600010, %%k, 123456789, %gewicht%)"
)
pause
MEINPASS ist natürlich korrekt hinterlegt und der Code funktioniert einwandfrei. Habe ich einfach mal gemacht, um die Verbindung generell zu testen und ein paar Einträge zu schreiben. So weit, so gut...
Nun möchte ich die Abfrage in meine eigentliche Datei schreiben:
@echo off & setlocal enabledelayedexpansion
echo Trackingdaten werden importiert. Bitte warten...
set pfad=selectline-pc\selectline
set user=SA
set pass=MEINPASS
set name=SL_MGBK
for /f "tokens=2,13 delims=;" %%i in ('findstr /n $ test.txt') do (
set gewicht=93
set /a pakete=gewicht/31+1
set /a gewicht=gewicht/pakete
for /l %%k in (1,1,!pakete!) do (
rem echo %%k
sqlcmd -I -M -U %user% -P %pass% -S %pfad% -d %name% -Q "insert into paket(belegtyp, belegnummer, zaehler, paketnummer, gewicht) values ('L', %%j, %%k, %%i, %gewicht%)"
)
)
pause
Ohne die Abfrage funktioniert auch dies einwandfrei. Gestestet mit der Ausgabe echo %%k. Wenn ich aber nun die Abfrage mit reinsetze (welche ja an sich funktioniert), dann bekomme ich den Fehler: Sqlcmd: Fehler: Microsoft ODBC Driver 11 for SQL Server : Fehler bei der Anmeldung für den Benutzer 'SA'..
Ich befürchte ja fast, dass ich etwas recht simples übersehen habe.. freue mich über jeden Hinweis
Zusätzlich sollte ich noch erwähnen, das wird natürlich die erste Verwunderung sein.. die Variablen im zweiten Teil hatte ich dann natürlich auch von %user% zu !user! usw. probiert, was leider auch nicht geholfen hat. Also versuche ich nun den ersten mit enabledelayedexpansion umzusetzen.
Vielen Dank vorab,
Marco
Dieser Beitrag wurde von mitknacker bearbeitet: 12. April 2016 - 13:32