다음을 통해 공유


Schema.ini 파일(텍스트 파일 드라이버)

텍스트 드라이버를 사용하는 경우 텍스트 파일의 형식은 스키마 정보 파일을 사용하여 결정됩니다. 스키마 정보 파일은 항상 Schema.ini 이름이 지정되며 항상 텍스트 데이터 원본과 동일한 디렉터리에 유지됩니다. 스키마 정보 파일은 파일의 일반 형식, 열 이름 및 데이터 형식 정보 및 기타 여러 데이터 특성에 대한 정보를 IISAM에 제공합니다. 고정 길이 데이터에 액세스하려면 항상 Schema.ini 파일이 필요합니다. 텍스트 테이블에 DateTime, Currency 또는 10진수 데이터가 포함되어 있거나 테이블의 데이터 처리를 더 자세히 제어하려는 경우 Schema.ini 파일을 사용해야 합니다.

참고

Text ISAM은 Schema.ini 아닌 레지스트리에서 초기 값을 가져옵니다. 동일한 기본 파일 형식이 모든 새 텍스트 데이터 테이블에 적용됩니다. CREATE TABLE 문에서 만든 모든 파일은 테이블 목록에서 기본값이 선택된 텍스트 서식 정의 대화 상자 <에서 파일 서식 값을 선택하여 설정된 동일한 기본> 형식 값을 상속 합니다 . 레지스트리의 값이 Schema.ini 값과 다른 경우 레지스트리의 값은 Schema.ini 값으로 덮어씁니다.

Schema.ini 파일 이해

Schema.ini 파일은 텍스트 파일의 레코드에 대한 스키마 정보를 제공합니다. 각 Schema.ini 항목은 테이블의 5가지 특성 중 하나를 지정합니다.

  • 텍스트 파일 이름

  • 파일 형식

  • 필드 이름, 너비 및 형식

  • 문자 집합

  • 특수 데이터 형식 변환

다음 섹션에서는 이러한 특징에 대해 설명합니다.

파일 이름 지정

Schema.ini 첫 번째 항목은 항상 대괄호로 묶인 텍스트 원본 파일의 이름입니다. 다음 예제에서는 파일 Sample.txt 항목을 보여 줍니다.

[Sample.txt]  

파일 형식 지정

Schema.ini 서식 옵션은 텍스트 파일의 형식을 지정합니다. 텍스트 IISAM은 문자로 구분된 대부분의 파일에서 자동으로 형식을 읽을 수 있습니다. 큰따옴표(")를 제외한 모든 단일 문자를 파일의 구분 기호로 사용할 수 있습니다. Schema.ini 형식 설정은 파일별로 Windows 레지스트리의 설정을 재정의합니다. 다음 표에서는 서식 옵션에 유효한 값을 나열합니다.

서식 지정자 테이블 형식 Schema.ini Format 문
탭 구분 파일의 필드는 탭으로 구분됩니다. Format=TabDelimited
CSV 구분 파일의 필드는 쉼표(쉼표로 구분된 값)로 구분됩니다. Format=CSVDelimited
사용자 지정 구분 파일의 필드는 대화 상자에 입력하도록 선택한 문자로 구분됩니다. 공백을 포함하여 큰따옴표(")를 제외한 모든 항목이 허용됩니다. Format=Delimited(custom character)

또는

구분 기호가 지정되지 않은 경우:

Format=Delimited( )
고정 길이 파일의 필드는 고정 길이입니다. Format=FixedLength

필드 지정

문자로 구분된 텍스트 파일에서 필드 이름을 두 가지 방법으로 지정할 수 있습니다.

  • 테이블의 첫 번째 행에 필드 이름을 포함하고 ColNameHeader 를 True로 설정합니다 .

  • 각 열을 숫자로 지정하고 열 이름 및 데이터 형식을 지정합니다.

각 열을 숫자로 지정하고 고정 길이 파일의 열 이름, 데이터 형식 및 너비를 지정해야 합니다.

참고

Schema.ini ColNameHeader 설정은 파일별로 Windows 레지스트리의 FirstRowHasNames 설정을 재정의합니다.

필드의 데이터 형식도 확인할 수 있습니다. MaxScanRows 옵션을 사용하여 열 형식을 결정할 때 검사해야 하는 행 수를 나타냅니다. MaxScanRows를 0으로 설정하면 전체 파일이 검사됩니다. Schema.ini MaxScanRows 설정은 파일별로 Windows 레지스트리의 설정을 재정의합니다.

다음 항목은 Microsoft Jet가 테이블의 첫 번째 행에 있는 데이터를 사용하여 필드 이름을 확인해야 하며 전체 파일을 검사하여 사용되는 데이터 형식을 확인해야 했음을 나타냅니다.

ColNameHeader=True  
MaxScanRows=0  

다음 항목은 문자로 구분된 파일의 경우 선택 사항이며 고정 길이 파일에 필요한 열 번호(Coln) 옵션을 사용하여 테이블의 필드를 지정합니다. 이 예제에서는 10자 CustomerNumber 텍스트 필드와 30자 CustomerName 텍스트 필드의 두 필드에 대한 Schema.ini 항목을 보여 줌:

Col1=CustomerNumber Text Width 10  
Col2=CustomerName Text Width 30  

Coln의 구문은 다음과 같습니다.

  
n=ColumnName type [Width] [#]  

설명

다음 표에서는 Coln 항목의 각 부분을 설명합니다.

매개 변수 Description
ColumnName 열의 텍스트 이름입니다. 열 이름에 포함된 공백이 포함된 경우 큰따옴표로 묶어야 합니다.
type 데이터 형식은 다음과 같습니다.

Microsoft Jet 데이터 형식

bit

Byte

Short

long

통화

Single

Double

DateTime

텍스트

메모

ODBC 데이터 형식 문자(텍스트와 동일)

Float(Double과 동일)

정수(Short와 동일)

LongChar(메모와 동일)

날짜 날짜 형식
Width 리터럴 문자열 값 Width입니다. 다음 숫자는 열의 너비를 지정한다는 것을 나타냅니다(문자로 구분된 파일의 경우 선택 사항, 고정 길이 파일에 필요).
# 열의 너비를 지정하는 정수 값입니다( Width 가 지정된 경우 필수).

문자 집합 선택

ANSI 및 OEM의 두 문자 집합 중에서 선택할 수 있습니다. Schema.ini CharacterSet 설정은 파일별로 Windows 레지스트리의 설정을 재정의합니다. 다음 예제에서는 문자 집합을 ANSI로 설정하는 Schema.ini 항목을 보여 줍니다.

CharacterSet=ANSI  

데이터 형식 형식 및 변환 지정

Schema.ini 파일에는 데이터를 변환하거나 표시하는 방법을 지정하는 데 사용할 수 있는 몇 가지 옵션이 포함되어 있습니다. 다음 표에서는 이러한 각 옵션을 나열합니다.

옵션 Description
DateTimeFormat 날짜 및 시간을 나타내는 형식 문자열로 설정할 수 있습니다. 가져오기/내보내기에서 모든 날짜/시간 필드가 동일한 형식으로 처리되는 경우 이 항목을 지정해야 합니다. 오전 및 오후를 제외한 모든 Microsoft Jet 형식이 지원됩니다. 형식 문자열이 없으면 Windows 제어판 짧은 날짜 그림 및 시간 옵션이 사용됩니다.
DecimalSymbol 정수를 숫자의 소수 부분과 구분하는 데 사용되는 단일 문자로 설정할 수 있습니다.
NumberDigits 숫자의 소수 부분에 있는 소수 자릿수를 나타냅니다.
NumberLeadingZeros 소수점 값이 1보다 작고 -1보다 큰 값에 선행 0이 포함되어야 하는지 여부를 지정합니다. 이 값은 False(선행 0 없음) 또는 True일 수 있습니다.
CurrencySymbol 텍스트 파일의 통화 값에 사용할 수 있는 통화 기호를 나타냅니다. 예를 들어 달러 기호($) 및 Dm이 있습니다.
CurrencyPosFormat 다음 값으로 설정할 수 있습니다.

- 분리가 없는 통화 기호 접두사($1)
- 분리가 없는 통화 기호 접미사(1$)
- 문자 분리가 1개인 통화 기호 접두사($ 1)
- 한 문자 분리가 있는 통화 기호 접미사(1 $)
CurrencyDigits 통화 금액의 소수 부분에 사용되는 숫자 수를 지정합니다.
CurrencyNegFormat 다음 값 중 하나일 수 있습니다.

- ($1)
- -$1
- $-1
- $1-
- (1$)
- -1$
- 1-$
- 1$-
- -1 $
- -$ 1
- 1 $-
- $ 1-
- $ -1
- 1- $
- ($ 1)
- (1 $)

이 예제에서는 달러 기호를 보여 주지만 실제 프로그램에서 적절한 CurrencySymbol 값으로 바꿔야 합니다.
CurrencyThousandSymbol 텍스트 파일의 통화 값을 수천 으로 구분하는 데 사용할 수 있는 단일 문자 기호를 나타냅니다.
CurrencyDecimalSymbol 통화 금액의 소수 부분과 전체를 구분하는 데 사용되는 단일 문자로 설정할 수 있습니다.

참고

항목을 생략하면 Windows 제어판 기본값이 사용됩니다.