Announcement

Collapse
No announcement yet.

File erzeugen mit Job Step

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • File erzeugen mit Job Step

    Hallo,
    ich bin neu hier und grüsse Euch alle.
    Ich habe folgendes Problem:
    Ich habe eine Batch Datei, welche ich über einen Step im SQl Job Starten will.
    Der code Funktioniert, wenn ich batch datei starte.
    Nun Habe ich den Code im Job Step als Type cmdExec eingefügt,
    aber er will einfach kein file ausspucken.
    Der Job endet immer mit success.
    Hier der Code:

    SET FTPFILE=c:\ftp\ftp.ftp

    REM ### Ab hier nichts mehr ändern! ###


    IF "%1"=="MAKEFTP" GOTO MAKEFTP

    "cmd.exe" /V:ON /C "%0" MAKEFTP

    GOTO USEFTP

    :MAKEFTP
    rem xcopy m:\*.* c:\ftptest
    ECHO OPEN 10.31.1.43> !FTPFILE!
    ECHO USER FTPUSER>> !FTPFILE!
    ECHO Atlet2010>> !FTPFILE!
    Echo BIN >> !FTPFILE!

    SET n=0
    FOR %%i IN (*.txt) DO (
    SET /a n=!n!+1

    echo put "%%i" /input/CEW/"%%i">> !FTPFILE!
    )


    echo disconnect>> !FTPFILE!
    echo quit>> !FTPFILE!

    GOTO :EOF


    :USEFTP
    mascus1.bat
    GOTO END



    :END


    Danke Euch im Voraus,
    Marcus

  • #2
    Hallo Marcus,

    ich nehme mal an, M:\ ist kein lokales Laufwerk, sondern ein Netzlaufwerk?

    a) Der Job wird im Standard unter dem Windows-Account des SQL-Server Agents ausgeführt, das ist meistens LocalSystem und der Account hat keine Berechtigungen auf Netzresourcen.
    b) M: ist ein für Dich gemapptes Laufwerk, der SQL Server Agent hat das Laufwerk nicht.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hi, danke für die Antwort.
      Das mit dem M:\ ist ja rem.
      Es wird also nicht abgearbeitet.

      Kann man denn so einen code überhaupt in SQL ausführen?

      Marcus

      Comment


      • #4
        Auch für den FTP Zugriff gilt; es geschieht unter dem Account des SQL Server Agents und da werden die Berechtigungen Probleme machen.
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          Danke für die Antwort, das werde ich mal testen.

          Bis dann,
          Marcus

          Comment


          • #6
            Am Besten legst Du einen Proxy an, aktivierst ihn fürs "Befehlssystem (cmdExec)" und gibts dann im Job Step den Proxy unter "Ausführen als" an.
            Olaf Helper

            <Blog> <Xing>
            * cogito ergo sum * errare humanum est * quote erat demonstrandum *
            Wenn ich denke, ist das ein Fehler und das beweise ich täglich

            Comment

            Working...
            X