내 텍스트 파일에 BULK INSERT를 사용합니다. 모든 것이 잘 작동하지만 내가 발견 한 한 가지, 최종 행의 마지막 열에 값을 제공하면 가져옵니다. 마지막 행의 최종 열 값이 비어 있으면 대상 열에서 null이 허용된다는 사실에도 불구하고 행을 무시합니다! 텍스트 파일은 여기에, 탭 구분 기호를 사용하는 마지막 행 데이터의 예는 다음과 같습니다 여기BULK INSERT 마지막 행이 누락 되었습니까?
Mike Johnson 1/29/1987 M
가 삽입됩니다 내가 마지막 열 필드 행의 모든 값을 한 경우, 예 :
Mike Johnson 1/29/1987 M test
이것은 내 BULK 삽입 :
BULK INSERT ##TEMP_TEXT
FROM '#uncdir#\#cffile.ServerFile#'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
)
나는 \r
대신 \n
을 사용하려고하지만 문제가 해결되지 않았다. 나는 또한 일부 웹 사이트를 조사했지만 해결책을 찾지 못했습니다. 이 SQL에서 수정할 수있는 뭔가 궁금하네요. 이 문제를 어떻게 해결할 수 있는지 아는 사람은 알려 주시기 바랍니다.
해결책 : 여기 ColdFusion에서 사용 방법 사람들을위한
텍스트 파일에 줄 바꿈을 추가 할 것입니다 라인이다.
exec xp_cmdshell 'echo. >> "#uncdir#\#cffile.ServerFile#"';
키는 coldfusion 변수 주위에 큰 따옴표를 넣어야합니다. 그렇지 않으면 코드가 작동하지 않습니다.
uncdir 코드는 여기에 있습니다 :
<cfset uncdir = createObject("java","java.net.InetAddress").getLocalHost().getHostName()/>
cffile.ServerFile
당신은 양식에서 얻을 수 있습니다. JQuery를 사용하여 텍스트 파일을 제출했습니다. 이게 도움이 되길 바란다. 고맙습니다.
'\ r \ n'을 (를) 사용해 보셨습니까? –
시도했지만 오류가 발생합니다 : coldfusion.tagext.sql.QueryTag $ DatabaseQueryException : 데이터베이스 쿼리 실행 오류. –
또한 rowdeterminator에 '0x0a'를 사용하려고했습니다. –