Ich benutze BULK INSERT für meine Textdateien. Alles funktioniert gut, aber eine Sache, die ich entdeckt habe: Wenn ich der letzten Spalte der letzten Zeile einen Wert gebe, wird sie importiert. Wenn der Wert dieser letzten Spalte in der letzten Zeile leer ist, verwirft er die Zeile, obwohl die Zielspalte Nullwerte zulässt! Textdatei Tabula Begrenzer, hier ist beispielsweise der letzten Zeile Daten:BULK INSERT fehlende letzte Zeile?
Mike Johnson 1/29/1987 M
wenn ich einen Wert in der letzten Zeile Spaltenfeld wird hier eingefügt, beispielsweise:
Mike Johnson 1/29/1987 M test
Das ist mein MASSE Insert:
BULK INSERT ##TEMP_TEXT
FROM '#uncdir#\#cffile.ServerFile#'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
)
ich versuchte \r
zu verwenden, anstatt \n
aber das hat nicht das Problem zu beheben. Ich habe auch auf einigen Websites recherchiert, konnte aber keine Lösung finden. Ich frage mich, ob dies etwas ist, das in SQL behoben werden kann. Wenn jemand weiß, wie das behoben werden kann, lass es mich wissen.
LÖSUNG:
Für alle, wie Coldfusion verwenden hier ist die Linie, die Neue-Zeile in der Textdatei hinzufügen.
Der Schlüssel war, um Coldfusion Variablen in Anführungszeichen zu setzen, sonst funktioniert der Code nicht.
uncdir Code ist hier:
<cfset uncdir = createObject("java","java.net.InetAddress").getLocalHost().getHostName()/>
cffile.ServerFile
SieFormal aus dem Formular erhalten. Ich habe JQuery verwendet, um die Textdatei zu senden. Ich hoffe das hilft. Vielen Dank.
Haben Sie versucht mit '\ r \ n'? –
Ich habe versucht, aber das verursacht den Fehler: coldfusion.tagext.sql.QueryTag $ DatabaseQueryException: Fehler beim Ausführen der Datenbankabfrage. –
Ich habe auch versucht, '0x0a' für den Rowdeterminator zu verwenden. –