안녕하세요
Bulk Insert 에 관해서 질문 좀 드리겠습니다.
SET @sql = 'BULK INSERT ' + @strTableName;
SET @sql = @sql + ' from '+char(39)+@strFilename+char(39);
SET @sql = @sql + ' with(FIELDTERMINATOR = '+char(39)+','+char(39)+', ROWTERMINATOR = '+char(39)+'\n'+char(39)+',tablock)'
execute sp_executesql @sql
일단 프로시저 내부에서는 이런식으로 동작하고 있습니다.
BULK INSERT TABLE from '192.168.0.128\bcp\bulk.txt' with(FIELDTERMINATOR = ',', ROWTERMINATOR = '\n',tablock)
쿼리로 나열하면.. 이런식이 됩니다.
쿼리를 직접 mssql에서 실행하면 bulk가 잘 실행되고 있습니다
다만 외부에서 프로그램(mfc로 짜고 연결은 ado를 사용, 구성은 프로그램 PC, DB 서버가 별도로 존재)으로 호출하면 다음과 같은 에러가 발생합니다
파일 "\\192.168.0.128\bcp\bulk.txt"을(를) 열 수 없으므로 대량 로드할 수 없습니다. 운영 체제 오류 코드 5(액세스가 거부되었습니다.)입니다.
분명 네트워크 공유 드라이브도 추가도 잘되고... sql 자체에서 쿼리 입력시 잘 실행되는데.. 외부에서 실행하면 무슨 문제인지 에러를 뿜습니다
도음 부탁드립니다. (_ _)
만드신 프로그램(어플리케이션)의 실행계정이 해당폴더 또는 파일의 ( \\192.168.0.128\bcp\bulk.txt ) 접근권한이 없는거 같은데요.
확인 한번 해보세요