SQL Server 테이블에 데이터를 대량으로 가져오거나 테이블의 데이터를 대량으로 내보내는 경우 서식 파일을 사용하면 해당 테이블을 기준으로 데이터 파일에 각 필드에 대한 서식 정보를 저장할 수 있습니다. 서식 파일을 사용하면 다른 데이터 형식과 맞추기 위한 편집 작업이 거의 필요 없는 데이터 파일을 작성하거나 다른 소프트웨어의 데이터 파일을 읽는 작업을 유연하게 수행할 수 있습니다.
SQL Server 2005 에서는 비 XML 서식 파일과 XML 서식 파일을 지원합니다. 비 XML 서식 파일은 이전 버전의 SQL Server 에서 원래 지원했던 서식 파일입니다. 일반적으로 SQL Server 2005 에서 XML 서식 파일과 비 XML 서식 파일은 서로 전환할 수 있지만 비 XML 서식 파일에 비해 여러 가지 장점을 가진 새 서식 파일에 대한 XML 구문을 사용하는 것이 좋습니다. 자세한 내용은 서식 파일 소개를 참조하십시오.
문자 데이터용 비 XML 서식 파일 만들기 다음 예에서는 AdventureWorks HumanResources.Department 테이블에 대한 Department.fmt XML 서식 파일을 만듭니다. 서식 파일은 문자 데이터 형식 및 기본이 아닌 필드 종결자(,)를 사용합니다. 생성된 서식 파일의 내용은 명령 뒤에 표시됩니다.
Windows 명령 프롬프트에 다음 bcp 명령을 입력합니다.
bcp AdventureWorks.HumanResources.Department format nul -c -f Department-c.fmt -T
네이티브 데이터용 비 XML 서식 파일 만들기
Windows 명령 프롬프트에 다음 bcp 명령을 입력합니다.
코드 복사
bcp AdventureWorks.HumanResources.Department format nul -T -n -f Department-n.fmt
#붉은 색으로 표시된 부분은 사용자의 환경에 맞게 설정해주시면 됩니다.
추가로 설명을 드리자면 TEST라고 적힌 푸른색글자는 사용자 맘대로 정해주시면 되것습니다.
붉은색으로 적힌 아이피주소는 당연히 오라클서버 아이디주소겠죠.
밑부분에 ora9i라고 적힌것은 오라클서버의 고유 이름입니다...오라클을 설치할때 적어주죠...
푸른색 부분을 상황에 맞게 설정하시면 됩니다.
User ID에는 오라클에서 사용할 데이터원본 계정을 적어주시면되고
Password는 그 계정에 해당되는 비밀번호를 적으시면됩니다.
Data Surce부분의 TEST는 바로 위에서 tnsnames.ora파일에 추가했던 것입니다.
내용 더 보기
more..
환경변수
TNS_ADMIN E:\1dev\oracle\instantclient_10_2
ora E:\1dev\oracle\instantclient_10_2
path ;%ora%
/* Build the SQL string one time.*/
SET @SQLString =
N'SELECT EmployeeID, NationalIDNumber, Title, ManagerID
FROM AdventureWorks.HumanResources.Employee
WHERE ManagerID = @ManagerID';
SET @ParmDefinition = N'@ManagerID tinyint';
/* Execute the string with the first parameter value. */
SET @IntVariable = 197;
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@ManagerID = @IntVariable;
/* Execute the same string with the second parameter value. */
SET @IntVariable = 109;
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@ManagerID = @IntVariable;
예제 2.
more..
출력 매개 변수는 sp_executesql에도 사용할 수 있습니다. 다음 예에서는 AdventureWorks.HumanResources.Employee 테이블에서 직함을 검색하여 출력 매개 변수 @max_title에 반환합니다.
SET @IntVariable = 197;
SET @SQLString = N'SELECT @max_titleOUT = max(Title)
FROM AdventureWorks.HumanResources.Employee
WHERE ManagerID = @level';
SET @ParmDefinition = N'@level tinyint, @max_titleOUT varchar(30) OUTPUT';