SQL Server 2k: Bulk Insert Query bricht als Job ab

Hallo,

auf einem SQL Server 2000 Englisch habe ich einen Stored Procedure erstellt welches ein Bulk Insert durchführt:

BULK INSERT dbo.tbl\_tabelle
 FROM '\\1.2.3.4\datei.csv'
 WITH
 (
 FIELDTERMINATOR = ';',
 ROWTERMINATOR = '\n',
 CODEPAGE = 'ACP',
 firstrow = 1,
 FORMATFILE = 'd:\datei.fmt'
 )

Wenn ich den Stored Procedure im Query Analyzer mit ‚exec sp_bulkinsert‘ aufrufe wird die csv Datei ohne Probleme importiert.

Wenn ich den Stored Procedure aber als Job einplane, bekomme ich Fehlermeldungen beim Importieren von datetime Werten: „Msg 4864, Sev 16: Bulk insert data conversion error (type mismatch) for row 1, column 5 …“.

Der Server nimmt ein amerikanisches Datumsformat an wenn der Aufruf über ein Job erfolgt, aber nicht wenn ich den Aufruf manuell starte.

Woran kann das liegen? Owner und Run as User ist auch der mit dem ich den Befehl manuell ausführe.

schon mal vielen Dank,

GrüneRose

Ich weiß zwar nicht wie das bei SQL-Server genau ist, aber in Oracle läuft ein Job nicht unter dem User/Session, der ihn aufgerufen hat…

Hallo GrüneRose,

soweit ich weiss läuft unter MSSQL der Job unter dem Konto des SQLAgent-Dienstes. Und da die Standardeinstellung des SQLServers bestimmt englisch/amerikanisch ist, nimmt er das an … Ich würde auf jeden Fall das Datumsformat für alle beteiligten User auf Deutsch stellen, soweit das möglich ist.

Andererseits könntest Du auch ein eindeutiges Datumsformat verwenden, wie z.B. „yyyymmdd hh:mm:ss“, das geht immer.

Gruß
Clemens