[ MS-SQL 쿼리문 ] BULK INSERT BulkList FROM 'D:\1111.txt' WITH ( FIELDTERMINATOR = ',' -- 열구분자 설정 , ROWTERMINATOR = '|&|' ) -- 행구분자 설정 - 위 MS-SQL 콘솔에서는 정상적으로 INSERT 가 실행됩니다. [ ASP ] SQL = "BULK INSERT BulkList" SQL = SQL &" FROM '"& "D:/1111.txt" &"'" SQL = SQL &" WITH ( FIELDTERMINATOR = ',' " '-- 열구분자 설정 SQL = SQL &" , ROWTERMINATOR = '|&|' )" '-- 행구분자 설정 db.Execute(SQL) - 위 ASP 코드를 실행 시키면 Internal Server Error 500 이 발생 * .txt 파일을 기존 BulkList 테이블에 INSERT 하는 것입니다. * ASP 쿼리 실행문 SQL만 뽑아서 MSSQL 콘솔에 실행해도 정상입니다. 도대체 뭐가 문제인지, 도통 모르겠네요. 고수님들 답변 부탁드립니다.
hjh님의 windows에 로그인해 실행하는 계정의 권한과 ASP가 windows에 매핑된 작업자 계정 권한 차이로 인해 발생합니다.
"D:\"에 쓰기 권한같은 높은 보안을 요구하는 권한 때문으로 보입니다.
ASP인지 ASP.NET인지 모르겠지만, worker process의 권한을 부여해야 할 듯 합니다.
https://learn.microsoft.com/ko-kr/troubleshoot/developer/webapps/aspnet/www-authentication-authorization/troubleshoot-permissions-security-issues
"asp.net 작업자 프로세스 권한 부여"로 검색해 보시면 여러 정보 보실 겁니다.