[ 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 콘솔에 실행해도 정상입니다.
도대체 뭐가 문제인지, 도통 모르겠네요.
고수님들 답변 부탁드립니다. Comment 2
-
hjh****
2023.06.28 09:15
답볍 감사합니다.
Classic ASP 사용하고 있습니다.
BULK INSERT 는 권한이 있어야 하나보네요.
확인해 보겠습니다.


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 작업자 프로세스 권한 부여"로 검색해 보시면 여러 정보 보실 겁니다.