Skip to main content

Bcp를 사용하여 SQL Server에서 데이터 가져 오기 및 내보내기

Inside a Huge PCB Factory - in China (4 월 2025)

Inside a Huge PCB Factory - in China (4 월 2025)
Anonim

Microsoft SQL Server의 대량 복사 (bcp) 명령은 명령 줄에서 대량의 레코드를 직접 삽입 할 수있는 기능을 제공합니다. 명령 줄 애호가에게 유용한 도구 일뿐만 아니라 bcp 유틸리티는 배치 파일이나 다른 프로그래밍 방식에서 SQL Server 데이터베이스에 데이터를 삽입하려는 사람들을위한 강력한 도구입니다. 데이터를 데이터베이스로 가져 오는 방법은 많지만 적절한 매개 변수를 사용하여 bcp를 설정하는 것이 가장 빠릅니다.

BCP 구문

bcp 사용에 대한 기본 구문은 다음과 같습니다.

bcp

여기서 인수는 다음 값을 취합니다.

  • 표 이름 는 테이블의 완전한 이름입니다. 예를 들어 inventory.dbo.fruits를 사용하여 인벤토리 데이터베이스의 데이터베이스 소유자가 소유 한 fruits 테이블에 레코드를 삽입 할 수 있습니다.
  • 방향 는 데이터를 가져올 ( "in"방향으로) 또는 내보내기 ( "out"방향) 여부를 나타냅니다.
  • 파일 이름 파일의 전체 경로입니다. 예를 들어 C : fruit inventory.txt 파일을 가져올 수 있습니다.
  • 옵션 대량 작업에 대한 매개 변수를 지정할 수 있습니다. 예를 들어, -m 옵션으로 허용되는 최대 오류 수를 지정할 수 있습니다. -x 옵션을 사용하여 XML 파일 형식을 지정할 수도 있습니다. 전체 목록은 Microsoft의 bcp 설명서를 참조하십시오.

BCP 가져 오기 예제

모두 합치려면 인벤토리 데이터베이스에 과일 테이블이 있고 하드 드라이브에 저장된 텍스트 파일의 모든 레코드를 해당 데이터베이스로 가져 오려고한다고 가정 해보십시오. 다음 bcp 명령 구문을 사용합니다.

bcp inventory.dbo.fruits in "C : fruit inventory.txt"-c -T

그러면 다음과 같은 결과가 출력됩니다.

C : > bcp inventory.dbo.fruits in "C : fruit inventory.txt"-c -T

복사 시작 중 …

36 행이 복사되었습니다.

네트워크 패킷 크기 (바이트) : 4096

시계 시간 (ms) 총계 : 16 평균 : (초당 2250.00 줄)

C : >

해당 명령 행에 두 가지 새로운 옵션이 있음을 눈치 챘을 것입니다. -c 옵션은 가져 오기 파일의 파일 형식이 새 행의 각 레코드와 함께 탭으로 구분 된 텍스트가되도록 지정합니다. -T 옵션은 bcp가 Windows 인증을 사용하여 데이터베이스에 연결하도록 지정합니다.

BCP 내보내기 예제

작업 방향을 "in"에서 "out"으로 변경하여 bcp를 사용하여 데이터베이스의 데이터를 내보낼 수 있습니다. 예를 들어 다음 명령을 사용하여 fruit 테이블의 내용을 텍스트 파일로 덤프 할 수 있습니다.

bcp inventory.dbo.fruits out "C : fruit inventory.txt"-c -T

다음은 명령 행에서 보이는 방법입니다.

C : > bcp inventory.dbo.fruits out "C : fruit inventory.txt"-c -T

복사 시작 중 …

42 개의 행이 복사되었습니다.

네트워크 패킷 크기 (바이트) : 4096

클럭 시간 (ms) 총 : 1 평균 : (42000.00 rows per sec.)

C : >

이것이 bcp 명령의 전부입니다. 배치 명령 파일이나 DOS 명령 줄에 액세스 할 수있는 다른 프로그램에서이 명령을 사용하여 SQL Server 데이터베이스에서 데이터를 가져오고 내보내는 작업을 자동화 할 수 있습니다.