Windows 와 같이 Linux 운영체제 환경에서도 SQL Server command-line 툴을 설치하면 sqlcmd 및 bcp 툴을 사용할 수 있습니다. 아래 링크를 통해 SQL Server command-line tools on linux 버전을 배포본에 따라 설치할 수 있습니다.
Install SQL Server command-line tools on Linux - SQL Server | Microsoft Docs
bcp in 또는 bcp out 명령으로 데이터 파일을 table 에 import/export 할 수 있습니다. 아래 링크를 통해 간단한 예제를 제공합니다. 테스트 예제를 직접 따라해 봅니다.
Bulk copy data to SQL Server on Linux - SQL Server | Microsoft Docs
1. 데이터베이스와 테이블을 생성합니다.
create database BcpSampleDB
go
use BcpSampleDB
go
create table TestEmployees (Id int, EmpName nvarchar(50), Location nvarchar(50))
go
2. Linux Shell 에서 테이블에 import 할 샘플 파일을 생성합니다.
# cat > ~/sample_data.txt << EOF
1,laigo,Republic of Korea
2,Xingfei,China
3,Tom,Germany
EOF
3. bcp 명령으로 bulk copy 명령 수행
bcp 명령에 대한 옵션은 아래와 같습니다.
- -S: specifies the instance of SQL Server to which to connect
- -U: specifies the login ID used to connect to SQL Server
- -P: specifies the password for the login ID
- -d: specifies the database to connect to
- -c: performs operations using a character data type
- -t: specifies the field terminator. We are using comma as the field terminator for the records in our data file
# bcp TestEmployees in ~/sample_data.txt -S localhost -U sa -d BcpSampleDB -c -t ','
4. sqlcmd 명령으로 import 완료된 데이터 확인 실행 과정 및 결과 캡쳐
# sqlcmd -S localhost -d BcpSampleDB -U sa -I -Q "SELECT * FROM TestEmployees;"
[명령 실행 과정 및 결과]