txt 파일이나 csv 파일을 INSERT 하기 위해서는 다음과 같이 세 가지 유형의 방법이 있습니다.
1. BCP.exe 유틸리티를 사용한 방법
BCP.exe 유틸리티를 활용하면 csv나 txt 파일로 된 자료를 테이블에 일괄로 INSERT 하고 있습니다.
(자세한 내용은 온라인 설명서의 BCP 유틸리티 부분을 참조하십시오)
예제)
bcp tempdb.dbo.temp in c:\temp.txt -c -t;
사용법: bcp {dbtable | query} {in | out | queryout | format} 데이터 파일
[-m 최대 오류 수] [-f 서식 파일] [-e 오류 파일]
[-F 첫 행] [-L 마지막 행] [-b 일괄 처리 크기]
[-n 원시 유형] [-c 문자 유형] [-w 와이드 문자 유형]
[-N 텍스트가 아닌 원시 형식 유지] [-V 파일 서식 버전] [-q 따옴표 붙은 식별자]
[-C 코드 페이지 지정자] [-t 필드 종료 문자] [-r 행 종료 문자]
[-i 입력 파일] [-o 출력 파일] [-a 패킷 크기]
[-S 서버 이름] [-U 사용자 이름] [-P 암호]
[-T 트러스트된 연결] [-v 버전] [-R 국가별 설정 사용]
[-k null 값 유지] [-E ID 값 유지]
[-h "참고 로드"]
2. BULK INSERT를 이용한 방법
예제)
BULK INSERT tempdb.dbo.temp
FROM 'c:\temp.txt'
WITH
(
FIELDTERMINATOR = '|',
ROWTERMINATOR = '|\n'
)
사용법)
BULK INSERT [ [ 'database_name'.] [ 'owner' ].] { 'table_name' FROM 'data_file' }
[ WITH
( [ BATCHSIZE [ = batch_size ] ]
[ [ , ] CHECK_CONSTRAINTS ]
[ [ , ] CODEPAGE [ = 'ACP' | 'OEM' | 'RAW' | 'code_page' ] ]
[ [ , ] DATAFILETYPE [ =
{ 'char' | 'native'| 'widechar' | 'widenative' } ] ]
[ [ , ] FIELDTERMINATOR [ = 'field_terminator' ] ]
[ [ , ] FIRSTROW [ = first_row ] ]
[ [ , ] FIRE_TRIGGERS ]
[ [ , ] FORMATFILE = 'format_file_path' ]
[ [ , ] KEEPIDENTITY ]
[ [ , ] KEEPNULLS ]
[ [ , ] KILOBYTES_PER_BATCH [ = kilobytes_per_batch ] ]
[ [ , ] LASTROW [ = last_row ] ]
[ [ , ] MAXERRORS [ = max_errors ] ]
[ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]
[ [ , ] ROWS_PER_BATCH [ = rows_per_batch ] ] [ [ , ] ROWTERMINATOR [ = 'row_terminator' ] ]
[ [ , ] TABLOCK ]
)
]
3. DTS(Data Transformation Services) 서비스를 이용하는 방법
데이터 원본 중에서 텍스트 파일 또는 csv로 지정하여 데이터를 가져오는 방법
이러한 방법을 사용할 수 있습니다.
감사합니다.
-펌-
[출처] mssql txt or csv 파일 데이터 Insert|작성자 필립박
'데이터베이스 > SQL Server' 카테고리의 다른 글
MSSQL 에서 XML 데이터 입력, 출력, 수정하는 방법 (0) | 2008.04.28 |
---|---|
SQL Server 2005의 Bulk Insert 성능 비교 (0) | 2008.04.28 |
MSSQL CSV Bulk Insert (0) | 2008.04.28 |
MSSQL2005에서 2G이상 메모리 사용하기 (0) | 2008.04.28 |
Oracle의 connect by 를 Mssql2005 의 CTE(WITH common_table_expression)로 변환 (0) | 2008.04.28 |