ODBC 구성 및 연결 매개 변수

Snowflake ODBC 드라이버는 구성 및 연결 매개 변수를 모두 사용합니다. 매개 변수 설정 방법은 드라이버가 설치된 환경에 따라 다릅니다.

이 항목의 내용:

Windows에 매개 변수 설정하기

Windows에서:

  • 구성 매개 변수는 regedit 및 다음 레지스트리 경로를 사용하여 Windows 레지스트리에 설정됩니다.

    [HKEY_LOCAL_MACHINE\SOFTWARE\Snowflake\Driver]
    
    Copy
  • 연결 매개 변수는 데이터 소스 이름(DSNs)에 설정됩니다.

    • DSNs는 일반적으로 Windows Data Source Administration 도구를 사용하여 생성 및 편집됩니다.

    • 원하는 경우 regedit 을 사용하여 DSNs의 레지스트리 키를 Windows 레지스트리에서 직접 편집할 수 있습니다. 키의 레지스트리 경로는 64비트 및 32비트 Windows 사용 여부 및 사용자 또는 시스템 DSN의 편집 여부에 따라 다릅니다.

      • 64비트 Windows:

        [HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI\<DSN_NAME>]
        
        [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\<DSN_NAME>]
        
        Copy
      • 32비트 Windows:

        [HKEY_CURRENT_USER\SOFTWARE\WOW6432NODE\ODBC\ODBC.INI\<DSN_NAME>]
        
        [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\ODBC\ODBC.INI\<DSN_NAME>]
        
        Copy

      regedit 을 사용하여 연결 매개 변수를 추가하려면 새 String Value 을 추가하고 생성한 값을 두 번 클릭한 후 ODBC 매개 변수를 Value name 으로 입력하고 매개 변수 값을 Value data 로 입력합니다.

macOS 또는 Linux에 매개 변수 설정하기

macOS 또는 Linux에서:

  • 구성 매개 변수는 구성 파일(simba.snowflake.ini)에 설정됩니다.

  • 연결 매개 변수는 데이터 소스 이름(DSN) 파일(odbc.ini)에 설정됩니다.

구성 매개 변수

CABundleFile

인증 기관(CA) 번들 파일의 위치를 설정합니다. CA 인증서의 유효한 목록을 포함하는 파일을 반드시 참조해야 합니다.

Linux의 경우, RPM 및 DEB 설치 관리자가 자동으로 파일을 복사하고 이 매개 변수를 설정합니다.

Mac의 경우, PKG 설치 관리자가 파일을 복사하고 이 매개 변수를 설정합니다.

Windows의 경우, MSI 설치 관리자가 파일을 복사하고 이 매개 변수를 설정합니다.

수동 설치를 위해서는 사용자가 https://curl.haxx.se/docs/caextract.html 에서 파일을 다운로드하고 파일의 위치를 설정해야 합니다.

CURLVerboseMode

true 로 설정하여 cURL 자세한 정보 표시 로깅을 활성화합니다. snowflake_odbc_curl.dmp 로그 파일이 생성 및 업데이트됩니다. Snowflake ODBC 드라이버는 cURL을 HTTP 및 TLS 라이브러리로 사용합니다. 이 매개 변수를 네트워크 문제를 진단하는 데 유용합니다.

DisableOCSPCheck

true 로 설정하여 온라인 인증서 상태 프로토콜(OCSP)에 의한 TLS 인증서 해지 상태 확인을 비활성화합니다. 일반적인 상황에서는 이 플래그를 설정하지 않아야 합니다. 그러나 OCSP 가용성 문제가 지속되는 경우, 애플리케이션이 이 매개 변수를 임시로 설정하여 연결 문제의 차단을 해제하고 OCSP 가용성 문제가 해결되면 제거합니다.

EnableAutoIpdByDefault

false 로 설정하여 SQL_ATTR_ENABLE_AUTO_IPD를 false 로 설정(ODBC 표준의 기본값)하도록 ODBC 드라이버를 구성합니다.

그렇지 않으면, 기본적으로 ODBC 드라이버는 서드 파티 도구와의 호환성을 위해 SQL_ATTR_ENABLE_AUTO_IPD를 true로 설정합니다.

이 매개 변수는 ODBC 드라이버 버전 2.22.0에 도입되었습니다.

EnablePidLogFileNames

true 로 설정하여 로그 파일 이름에 프로세스 ID를 포함합니다. 예를 들어, 프로세스 ID가 7394인 경우 로그 파일의 이름은 다음과 같습니다.

  • snowflake_odbc_connection_7394_0.log

  • snowflake_odbc_generic7394_0.log

  • snowflake_odbc_curl_7394.dmp

이 매개 변수를 설정하면 다른 프로세스가 동일한 로그 파일을 덮어쓰는 것을 방지할 수 있습니다. 각 프로세스에서는 자체 로그 파일 세트를 생성합니다.

기본적으로 이 매개 변수의 값은 false 입니다.

이 매개 변수는 ODBC 드라이버 버전 2.22.2에 도입되었습니다.

get_size_threshold

GET 명령으로 파일을 다운로드할 때 파일을 더 작은 부분으로 나누기 위한 최소 파일 크기(MB)를 지정합니다. 이 임계값보다 크기가 작은 파일은 다중 파트 다운로드를 사용하지 않습니다.

기본값은 5 (MB)입니다.

참고

해당 크기_임계값_가져오기 연결 매개 변수를 설정하여 특정한 경우에 대해 이 값을 재정의할 수 있습니다.

KeepLeadingTrailingZeros

문자열 값으로 형식이 지정된 숫자의 선행 또는 후행 0을 처리하는 방법을 결정합니다. 기본적으로, 이 매개 변수는 true 로 설정됩니다. 즉, 드라이버가 선행 또는 후행 0을 유지합니다. 선행 또는 후행 0을 제거하려면 매개 변수 값을 false 로 설정합니다. 예:

  • 0.23.23 으로 변경됨

  • 7.007 로 변경됨

LogFileCount

새 로그 파일을 위한 공간을 만들기 위해 이전 파일을 순환하기 전에 보관할 최대 로그 파일 개수를 설정합니다.

LogFileSize

로그 파일의 최대 크기를 바이트 단위로 지정합니다. 로그 파일이 지정된 크기에 도달하면 ODBC 드라이버가 새 로그 파일을 자동으로 생성합니다.

기본값은 20971520 입니다.

LogLevel

ODBC 드라이버를 사용하는 클라이언트에 대하여 기록되는 세부 정보 수준을 지정합니다.

  • 0 = 꺼짐

  • 1 = 심각

  • 2 = 오류

  • 3 = 경고

  • 4 = 정보

  • 5 = 디버그

  • 6 = 추적

LogPath

ODBC 드라이버를 사용하는 클라이언트에 대한 Snowflake 로그 파일의 위치를 지정합니다.

MapToLongVarchar

문자열 값을 기본 ODBC SQL_CHAR 또는 SQL_VARCHAR 데이터 타입 대신 ODBC SQL_LONGVARCHAR 데이터 타입으로 매핑하기 시작할 문자열의 길이를 지정합니다.

  • < 0(또는 설정되지 않음): 기본 ODBC 데이터 타입으로 문자열 값을 매핑합니다. 기본값 = -1.

  • >= 0: 기본 ODBC 문자열 데이터 타입에 매핑할 문자열의 최대 문자 수를 지정합니다. 이 값보다 큰 모든 문자열은 SQL_LONGVARCHAR 에 매핑됩니다.

또한 이 매개 변수를 연결 매개 변수로 지정할 수도 있습니다. (Windows, macOS 및 Linux 에서 매개 변수 설정 지침을 참조하십시오.) 연결 매개 변수 구성 매개 변수로 모두 설정된 경우, DSN(또는 연결 문자열)의 연결 매개 변수가 우선 적용됩니다.

이 매개 변수는 ODBC 드라이버 버전 2.24.3에 도입되었습니다.

NoExecuteInSQLPrepare

true 로 설정하여 DDL 문(예: CREATE 및 DROP)을 SQLPrepare()SQLExecute() 로 전달할 때 ODBC 드라이버가 표준 ODBC 동작을 사용하도록 구성합니다.

Snowflake에서는 기본적으로 DDL 문을 SQLPrepare() 로 전달할 때 ODBC 드라이버가 문을 데이터 소스로 전송하여 실행합니다(준비 아님). DDL 문을 SQLExecute() 로 전달하면 ODBC 드라이버가 해당 문을 데이터 소스로 전송하지 않습니다.

NoExecuteInSQLPreparetrue 로 설정하면, ODBC 드라이버는 표준 ODBC 동작을 따릅니다. SQLPrepare() 를 호출하면 실행이 아닌 준비를 위해 문을 데이터 소스로 전송합니다. SQLExecute() 를 호출하면 실행을 위해 문을 데이터 소스로 전송합니다.

이 매개 변수는 ODBC 드라이버 버전 2.21.6에 도입되었습니다.

NoProxy

프록시 서버를 우회할 호스트 이름 패턴(예: Amazon S3 액세스를 우회하는 경우 .amazonaws.com)을 지정합니다.

참고

Snowflake ODBC 드라이버는 NoProxy 값을 curl 옵션 CURLOPT_NOPROXY 로 전달합니다. NoProxy 값의 형식은 여기 에서 확인할 수 있습니다.

Proxy

ODBC 드라이버를 사용하는 클라이언트를 위한 프록시 서버를 <호스트>:<포트> 의 형식으로 지정합니다.

참고

Windows에서는 LogLevelLogPath 에 대한 항목은 ODBC 드라이버가 설치될 때 생성되고 기본값이 채워지지만, Proxy 에 대한 항목은 설치 중에 생성되지 않습니다. 드라이버와 함께 사용할 프록시를 지정하려면 반드시 수동으로 항목을 드라이버 레지스트리 키에 추가해야 합니다.

1개 이상의 IP 주소 또는 URLs에 대한 프록시를 우회하려면, NoProxy 매개 변수를 추가합니다.

연결 매개 변수

필수 연결 매개 변수

<이름> (데이터 소스)

DSN의 이름을 지정합니다.

port (포트)

드라이버가 Snowflake 통신을 대기하는 포트를 지정합니다.

참고

기본 Port 값인 443 을 변경할 필요가 없습니다.

pwd (비밀번호)

Snowflake에 연결하려면 비밀번호가 필요하지만, 보안 및 인증을 위해 Snowflake는 DSN 정의에 비밀번호 자격 증명을 직접 저장하지 않는 것을 강력하게 권장합니다.

일반적으로 자격 증명은 Snowflake에 연결하려고 시도하는 클라이언트 애플리케이션에 의해 프로그래밍 방식으로 드라이버로 전달됩니다.

참고

Windows에서 ODBC 드라이버는 Data Source Administration 도구에 Password 필드를 표시하지만, 드라이버는 이 필드에 입력된 값을 저장하지 않습니다. 대신, 연결 시 로그인 자격 증명을 드라이버에 제공해야 합니다.

server (서버)

계정의 호스트 이름 을 다음 형식으로 지정합니다.

account_identifier.snowflakecomputing.com

계정 식별자에 대한 자세한 내용은 계정 식별자 를 참조하십시오.

uid (사용자)

인증할 Snowflake 사용자의 로그인 이름을 지정합니다.

선택적 연결 매개 변수

BROWSER_RESPONSE_TIMEOUT

외부 브라우저에서 인증 응답을 기다리는 시간(초)을 지정합니다.

기본값은 120입니다.

CLIENT_OUT_OF_BAND_TELEMETRY_ENABLED=<부울>

대역 외 원격 분석을 활성화할지 여부를 지정합니다.

기본값은 true 입니다.

CLIENT_SESSION_KEEP_ALIVE=<부울>

비활성 기간이 경과한 이후 현재 세션을 활성 상태로 유지할지 아니면 사용자가 다시 로그인하도록 할지를 지정합니다. 값이 true 이면 Snowflake는 사용자가 비활성 상태인 경우에도 세션을 무기한 활성 상태로 유지합니다. 값이 false 이면 4시간 동안 사용자의 활동이 없으면 사용자가 다시 로그인해야 합니다.

기본값은 false 입니다.

database (데이터베이스)

드라이버에서 시작된 세션에서 사용할 기본 데이터베이스를 지정합니다.

maxHttpRetries (데이터베이스)

오류를 반환하기 전에 실패한 HTTP 요청이 있는 쿼리에 대한 최대 HTTP 재시도 횟수를 지정합니다. maxHttpRetries=0 으로 설정하면 재시도 횟수 제한이 제거되지만, 그러면 드라이버가 실패한 HTTP 호출을 무한히 재시도할 위험이 발생합니다.

기본값은 7입니다.

role (역할)

드라이버에서 시작된 세션에서 사용할 기본 역할을 지정합니다. 지정된 역할은 드라이버에 지정된 사용자에게 할당된 역할이어야 합니다. 지정된 역할이 사용자에게 할당된 역할과 일치하지 않으면, 드라이버에서 시작된 세션에는 처음에 역할이 없지만, 역할은 항상 세션 내에서부터 지정되어야 합니다.

schema (스키마)

드라이버에서 시작된 세션에서 사용할 기본 스키마를 지정합니다.

기본값은 public 입니다.

SecondaryRoles (역할)

드라이버에서 시작된 세션에서 사용할 보조 역할을 지정합니다. 드라이버의 지정된 사용자에게 역할이 이미 부여된 상태여야 합니다. 보조 역할은 USE SECONDARY ROLES 명령을 사용하여 사용자 세션 내에서 활성화할 수도 있습니다.

가능한 값은 다음과 같습니다.

  • 모두: 사용자에게 부여된 모든 역할.

  • 없음: 허용되는 역할이 없음(보조 역할을 비활성화함).

tracing (추적)

드라이버 추적 파일에 기록될 세부 정보 수준:

  • 0= 추적 비활성화

  • 1 = 심각한 오류만 추적

  • 2 = 오류 추적

  • 3 = 경고 추적

  • 4 = 정보 추적

  • 5 = 디버그 추적

  • 6 = 세부 추적

warehouse (웨어하우스)

드라이버에서 시작된 세션에서 사용할 기본 웨어하우스를 지정합니다.

추가 연결 매개 변수

참고

In Windows, these additional connection parameters can be set in the Windows Registry (by using regedit).

In macOS or Linux, they are set in the odbc.ini file, similar to the rest of the connection parameters.

allowEmptyProxy

다음 섹션에 설명된 대로 proxyno_proxy 연결 매개 변수에 빈 값을 허용할지 여부를 지정합니다.

이 값을 설정하면 다음과 같은 효과가 나타납니다.

  • true: 드라이버는 빈 프록시 값을 유효한 프록시 설정으로 처리하고 기존 설정이나 환경 변수를 재정의합니다.

  • false: 드라이버는 빈 프록시 값을 무시하고 지정된 구성 매개 변수 또는 환경 변수를 사용합니다.

기본값은 true 입니다.

application

Snowflake 파트너 전용: ODBC를 통해 연결할 파트너 애플리케이션의 이름을 지정합니다.

This parameter can also be set by calling the SQLSetConnectAttr() function. 자세한 내용은 SQLSetConnectAttr 함수의 Snowflake 고유 동작 을 참조하십시오.

authenticator

Specifies the인증자to use for verifying사용자 로그인로그인 자격 증명:

  • 내부 Snowflake 인증자를 사용하려면 snowflake (기본값).

  • Okta, ADFS 또는 계정에 정의된 기타 SAML 2.0 규격 ID 공급자(IdP)를 인증하기 위해 웹 브라우저를 사용하기 위한 externalbrowser.

    참고

    Snowflake ODBC 드라이버는 MacOS에서 Microsoft Excel을 사용하는 externalbrowser 인증을 지원하지 않습니다.

  • 기본 Okta (IdP가 Okta인 경우에만 지원됨)를 통해 인증하기 위한 https://<okta_계정_이름>.okta.com (즉, Okta 계정의 URL 엔드포인트).

  • OAuth를 사용하여 인증하려면 oauth. OAuth가 인증자로 지정되면 token 매개 변수도 설정하여 OAuth 토큰을 지정해야 합니다(아래 참조).

  • MFA 토큰 캐싱을 사용하여 인증하려면 username_password_mfa. 자세한 내용은 이 항목의 다단계 인증 사용하기 섹션을 참조하십시오.

기본값은 snowflake 입니다.

On Windows, you can use the ODBC Data Source Administration Tool to set this parameter.

인증에 대한 자세한 내용은 페더레이션 인증 관리하기/사용하기클라이언트, 드라이버 및 커넥터 를 참조하십시오.

default_binary_size, . default_varchar_size

결정되지 않은 크기의 BINARY 또는 VARCHAR 열에서 값을 검색 및 변환할 때 드라이버가 사용할 기본 크기(바이트 단위)를 지정합니다. 이러한 타입의 열에서 값을 검색할 때 이 매개 변수를 설정합니다.

기본적으로, 드라이버는 결정되지 않은 열의 값을 검색하기 위해 메모리를 할당할 때 8388608 (BINARY 열) 및 16777216 (VARCHAR 열)을 기본 크기로 사용합니다.

이러한 값에 할당되는 메모리의 크기를 줄이려면 default_binary_sizedefault_varchar_size 를 이러한 타입의 열에 대한 최대 값 크기로 설정할 수 있습니다.

참고

이들 값을 설정하면 IRD(구현 행 설명자)의 SQL_DESC_LENGTH 필드와 SQLDescribeCol/SQLColAttribute/SQLColAttributes 에서 반환된 해당 값만 변경됩니다. 드라이버는 길이가 설정을 초과하더라도 여전히 전체 데이터를 반환합니다.

반면에 애플리케이션은 버퍼에 공간이 충분하지 않아 데이터가 잘릴 수 있는 이러한 매개 변수에 지정된 길이를 기반으로 데이터 버퍼를 할당할 수 있습니다. 모범 사례로, Snowflake는 기본 크기를 일반 데이터의 최대 크기(예: 4,000 또는 8,000바이트)보다 크게 설정하여 원래 기본값인 16,777,216/8,388,608바이트에서 메모리 사용량을 크게 줄이고 데이터 잘림 가능성을 최소화하는 것이 좋습니다.

이러한 설정을 사용하여 Snowflake 데이터베이스와 함께 Microsoft OLE DB 공급자(MSDASQL)를 사용할 때 발생할 수 있는 다음과 같은 오류를 방지할 수 있습니다.

Requested conversion is not supported
Cannot get the current row value of column
Copy

이러한 매개 변수를 연결 구성 매개 변수 (예: macOS 및 Linuxsimba.snowflake.ini)로 지정할 수 있습니다. 이 매개 변수가 연결 매개 변수 구성 매개 변수 모두로 설정된 경우, DSN(또는 연결 문자열)의 연결 매개 변수가 우선 적용됩니다.

이러한 매개 변수는 ODBC 드라이버 버전 2.23.2에 도입되었습니다.

get_size_threshold

GET 명령으로 파일을 다운로드할 때 파일을 더 작은 부분으로 나누기 위한 최소 파일 크기(MB)를 지정합니다. 이 임계값보다 크기가 작은 파일은 다중 파트 다운로드를 사용하지 않습니다.

기본값은 5 (MB)입니다.

참고

이 값을 연결 매개 변수로 설정하면 해당 크기_임계값_가져오기 구성 매개 변수의 값이 재정의됩니다.

login_timeout

Snowflake 서비스에 연결할 때 로그인 실패 오류를 반환하기 전에 응답을 대기하는 시간(초)을 지정합니다.

기본값은 300 (초)입니다.

network_timeout

오류를 반환하기 전 Snowflake 서비스와 상호 작용할 때 응답을 대기하는 시간(초)을 지정합니다. 영(0)은 네트워크 시간 제한이 설정되지 않음을 나타냅니다.

기본값은 0 (초)입니다.

retryTimeout

실패한 HTTP 요청이 있는 쿼리에서 HTTP 재시도에 대해 오류를 반환하기 전에 기다려야 하는 시간(초)을 지정합니다. 영(0)은 재시도 시간 제한이 설정되지 않음을 나타냅니다.

기본값은 300 (초)입니다.

no_proxy

프록시 서버를 우회하도록 허용해야 하는 호스트 이름의 끝을 지정합니다(예: no_proxy=.amazonaws.com 은 Amazon S3 액세스가 프록시를 통과할 필요가 없음을 의미).

이 매개 변수는 와일드카드를 지원하지 않습니다. 지정된 각 값은 다음 중 하나여야 합니다.

  • 호스트 이름의 끝(또는 전체 호스트 이름), 예:

    • .amazonaws.com

    • myorganization-myaccount.snowflakecomputing.com

  • IP 주소, 예:

    • 192.196.1.15

2개 이상의 값이 지정된 경우, 값은 쉼표로 구분되어야 합니다. 예:

no_proxy=localhost,.my_company.com,myorganization-myaccount.snowflakecomputing.com,192.168.1.15,192.168.1.16
Copy

참고

이 매개 변수는 프로세스에 적용됩니다. 다른 연결에서 동일한 프로세스를 공유하는 경우 프록시 설정이 반드시 동일해야 합니다. 그렇지 않으면 동작을 예상할 수 없습니다.

odbc_use_standard_timestamp_columnsize

이 부울 매개 변수는 SQL_TYPE_TIMESTAMP에 대해 반환된 열 크기(문자)에 영향을 줍니다. 이 매개 변수가 true로 설정되면 드라이버는 ODBC 표준에 따라 29를 반환합니다. 이 매개 변수가 false 로 설정되면, 드라이버는 35를 반환하여 표준 시간대 오프셋(예: “-08:00”)을 위한 공간을 허용합니다.

이 값은 odbc.ini 파일(Linux 또는 macOS) 또는 Microsoft Windows 레지스트리뿐만 아니라 연결 문자열을 통해서도 설정할 수 있습니다.

기본값은 false 입니다.

passcode

다단계 인증에서 사용할 암호를 지정합니다.

다단계 인증에 대한 자세한 내용은 다단계 인증(MFA) 을 참조하십시오.

passcodeInPassword

다단계 인증에 사용할 암호를 비밀번호에 추가할지 여부를 지정합니다.

  • on (또는 true)은 암호를 추가하도록 지정합니다.

  • off (또는 false) 또는 기타 모든 값은 암호가 추가되지 않도록 지정합니다.

기본값은 off 입니다.

proxy

프록시 서버 URL을 http://<호스트 이름>:<포트>/ 또는 <호스트 이름>:<포트_번호> 의 형식으로 지정하여 ODBC로부터의 모든 통신에서 프록시 서버를 사용하도록 합니다.

참고

이 매개 변수는 프로세스에 적용됩니다. 다른 연결에서 동일한 프로세스를 공유하는 경우 프록시 설정이 반드시 동일해야 합니다. 그렇지 않으면 동작을 예상할 수 없습니다.

put_compresslv

PUT 명령으로 데이터를 전송할 때 ODBC 드라이버가 사용하는 압축률을 지정합니다. 이 매개 변수는 기본 gzip 압축 수준을 재정의합니다. put_compresslv 를 지정하지 않으면 ODBC 드라이버는 기본 압축 수준을 사용합니다.

유효한 값은 -1 ~ 9 입니다. 기본값은 -1 이며 기본 Z_DEFAULT_COMPRESSION 을 지정합니다.

0 ~ 9 의 값은 사용자 지정 압축률을 지정합니다. 0 의 경우 ODBC 드라이버에서 더 낮은 압축률이 사용되며 9 의 경우 더 높은 압축률이 사용됩니다. 더 높은 압축률을 사용하면 데이터 전송 속도가 느려집니다.

이 매개 변수를 구성 매개 변수 (예: macOS 및 Linuxsimba.snowflake.ini)로 지정할 수도 있습니다. 이 매개 변수가 연결 매개 변수 구성 매개 변수 모두로 설정된 경우, DSN(또는 연결 문자열)의 연결 매개 변수가 우선 적용됩니다.

이 매개 변수는 ODBC 드라이버 버전 2.23.3에 도입되었습니다.

put_fastfail

PUT 명령에서 와일드카드 문자를 사용하여 한 번에 여러 파일을 업로드하고 오류 발생 시 드라이버가 파일 업로드를 중지하도록 하려면, 이 매개 변수를 true 로 설정합니다.

기본값은 false 이며, 즉 한 파일에서 오류가 발생하면 드라이버는 나머지 파일의 업로드를 계속 진행합니다.

이 매개 변수는 ODBC 드라이버 버전 2.22.3에 도입되었습니다.

ODBC 드라이버 2.22.5 버전부터는 이 매개 변수를 구성 매개 변수 (예: macOS 및 Linuxsimba.snowflake.ini)로 지정할 수도 있습니다. 이 매개 변수가 연결 매개 변수 구성 매개 변수 모두로 설정된 경우, DSN(또는 연결 문자열)의 연결 매개 변수가 우선 적용됩니다.

put_maxretries

PUT 명령이 실패하는 경우 드라이버가 명령을 다시 시도하는 횟수를 지정합니다.

기본값은 5 입니다.

이 매개 변수의 유효한 값 범위는 0 ~ 100 입니다. 이 범위를 초과하여 값을 지정하면 드라이버는 기본값인 5 를 사용합니다.

이 매개 변수는 ODBC 드라이버 버전 2.22.3에 도입되었습니다.

ODBC 드라이버 2.22.5 버전부터는 이 매개 변수를 구성 매개 변수 (예: macOS 및 Linuxsimba.snowflake.ini)로 지정할 수도 있습니다. 이 매개 변수가 연결 매개 변수 구성 매개 변수 모두로 설정된 경우, DSN(또는 연결 문자열)의 연결 매개 변수가 우선 적용됩니다.

put_tempdir

PUT 명령 요청에서 사용할 임시 디렉터리를 지정합니다. 드라이버는 이 임시 디렉터리를 사용하여 Snowflake에 파일을 업로드하기 전 임시 압축 파일을 만듭니다.

이 매개 변수가 설정되지 않은 경우, 드라이버는 임시 디렉터리 /tmp/snowflakeTmp_username 을 생성하고 사용합니다. 여기서 username 은 운영 체제에 있는 현재 사용자의 사용자 이름입니다.

이 매개 변수를 구성 매개 변수 (예: macOS 및 Linuxsimba.snowflake.ini)로 지정할 수도 있습니다. 이 매개 변수가 연결 매개 변수 구성 매개 변수 모두로 설정된 경우, DSN(또는 연결 문자열)의 연결 매개 변수가 우선 적용됩니다.

이 매개 변수는 ODBC 드라이버 버전 2.23.1에 도입되었습니다.

query_timeout

오류를 반환하기 전 쿼리의 완료를 대기하는 시간(초)을 지정합니다. 영(0)은 무한대로 대기를 나타냅니다.

기본값은 0 (초)입니다.

token=<문자열>

인증에 사용할 OAuth 토큰을 지정합니다. 여기서 <문자열> 은 토큰입니다. This parameter is required only when the authenticator=oauth parameter is set.

기본값은 없음입니다.

validateSessionParam

다음 중 유효하지 않은 세션 연결 매개 변수 가 있을 때 어떻게 응답할지 지정합니다.

가능한 값은 다음과 같습니다.

  • false (기본값): 성공적으로 연결되지만 databaseschema 매개 변수 값을 빈 문자열로 설정하고 warehouse 매개 변수를 기본값으로 설정합니다. 웨어하우스에 대한 자세한 내용은 세션에서 웨어하우스 사용 섹션을 참조하십시오.

  • true: 연결을 거부하고 오류를 발생시킵니다.

SnowCD를 사용한 Snowflake로의 네트워크 연결 확인하기

드라이버를 구성한 후에는 SnowCD 를 사용하여 Snowflake로의 네트워크 연결을 평가하고 문제를 해결할 수 있습니다.

초기 구성 프로세스 및 언제라도 필요할 때 SnowCD를 사용하여 Snowflake로의 네트워크 연결을 평가하고 문제를 해결할 수 있습니다.

프록시 서버를 통해 연결하기

프록시 서버 연결을 구성하는 지침은 사용자의 운영 체제 및 드라이버 버전에 따라 다릅니다.

운영 체제

드라이버 버전

지원되는 지침

Linux

2.16.0(2018년 5월 3일 릴리스) 이상

2.13.18(2018년 2월 7일 릴리스) ~ 2.15.0(2018년 4월 30일 릴리스)

환경 변수 사용하기

2.13.17 이하

구성 매개 변수 사용하기

macOS

2.16.0(2018년 5월 3일 릴리스) 이상

2.14.0(2018년 3월 28일 릴리스) ~ 2.15.0(2018년 4월 30일 릴리스)

환경 변수 사용하기

2.13.21 이하

구성 매개 변수 사용하기

Windows

2.16.0(2018년 5월 3일 릴리스) 이상

2.15.0(2018년 4월 30일 릴리스)

환경 변수 사용하기

2.14.0 이하

구성 매개 변수 사용하기

참고

위에 표시된 모든 최신 ODBC 드라이버 버전은 나열된 모든 구성 옵션을 지원합니다. 옵션은 우선 순위 순서로 나열됩니다. 2개 이상의 옵션이 지정된 경우에는 우선 순위가 가장 높은 설정이 적용됩니다.

연결 매개 변수 사용하기

프록시 서버를 통해 연결하려면, 다음 연결 매개 변수를 DSN에 추가합니다.

  • proxy

  • no_proxy

예:

[connection]
Description = SnowflakeDB
Driver      = SnowflakeDSIIDriver
Locale      = en-US
server      = myorganization-myaccount.snowflakecomputing.com
proxy       = http://proxyserver.company:80
no_proxy    = .amazonaws.com
Copy

매개 변수 설명은 연결 매개 변수 를 참조하십시오.

구성 매개 변수 사용하기

참고

이러한 매개 변수는 최신 ODBC 드라이버 버전에서 더 이상 사용되지 않습니다(즉, 더 이상 지원되지 않음). 프록시 서버를 통해 연결하기 에서 제공되는 지원되는 옵션 테이블을 참조하십시오. 드라이버를 업그레이드할 때 환경 변수 또는 연결 매개 변수를 사용하여 프록시 서버 설정을 구성하십시오.

프록시 서버를 통해 연결하려면, 다음 구성 매개 변수를 추가합니다.

  • Proxy

  • NoProxy

매개 변수 설명은 구성 매개 변수 를 참조하십시오.

환경 변수 사용하기

프록시 서버를 통해 연결하려면 다음 환경 변수를 구성합니다.

  • http_proxy

  • https_proxy

  • no_proxy

참고

Linux 및 macOS의 경우 이러한 환경 변수에서는 대/소문자를 구분하며, 반드시 소문자로 설정되어야 합니다. Windows의 경우 환경 변수에서는 대/소문자를 구분하지 않습니다.

예:

  • Linux 또는 macOS:

    export http_proxy=http://proxyserver.company.com:80
    export https_proxy=http://proxyserver.company.com:80
    
    Copy

    프록시 서버에 사용자 이름 및 비밀번호가 필요한 경우 자격 증명을 포함합니다. 예:

    export https_proxy=http://username:password@proxyserver.company.com:80
    
    Copy
  • Windows:

    set http_proxy=http://proxyserver.company.com:80
    set https_proxy=http://proxyserver.company.com:80
    
    Copy

    프록시 서버에 사용자 이름 및 비밀번호가 필요한 경우 자격 증명을 포함합니다. 예:

    set https_proxy=http://username:password@proxyserver.company.com:80
    
    Copy

선택 사항으로, no_proxy 를 설정하여 특정 통신(예: Amazon S3 액세스를 우회하기 위한 no_proxy=.amazonaws.com)에서 프록시를 우회하도록 할 수 있습니다.

인증에서 Single Sign-On(SSO) 사용하기

Snowflake에서 Single Sign-On(SSO) 을 사용하도록 구성한 경우, 인증에서 SSO를 사용하도록 클라이언트 애플리케이션을 구성할 수 있습니다. 자세한 내용은 Snowflake에 연결하는 클라이언트 애플리케이션에서 SSO 사용하기 섹션을 참조하십시오.

다단계 인증 사용하기

Snowflake는 MFA 토큰 캐싱을 SSO와 결합하는 등의 캐싱 MFA 토큰을 지원합니다.

자세한 내용은 MFA 토큰 캐싱을 사용하여 인증 도중 프롬프트 수 최소화하기 — 선택 사항 섹션을 참조하십시오.

키 페어 인증 사용하기

ODBC 드라이버는 키 페어 인증 및 키 순환을 지원합니다.

  1. 시작하려면, 키 페어 인증 및 키 페어 순환 에서와 같이 키 페어 인증을 위한 초기 구성을 수행합니다.

  2. 드라이버의 데이터 소스 이름(DSN) 항목을 수정합니다. DSN 항목에 대한 내용은 사용 중인 운영 체제의 해당 항목을 참조하십시오.

    다음(대/소문자 구분) 매개 변수를 추가합니다.

    AUTHENTICATOR = SNOWFLAKE_JWT

    JSON 웹 토큰(JWT)과 함께 키 페어 인증을 사용하여 Snowflake 연결을 인증하도록 지정합니다.

    JWT_TIME_OUT = integer

    선택 사항입니다. 시간 초과가 발생하기 전 Snowflake가 JWT의 수신을 대기하는 시간(초)을 지정합니다. 시간 초과가 발생하면 인증이 실패하고 드라이버에서 Invalid JWT token 오류가 반환됩니다. 반복적인 오류 발생을 해결하려면 매개 변수 값을 증가합니다. 기본값: 30

    PRIV_KEY_FILE = path/rsa_key.p8

    생성한 개인 키 파일(즉, rsa_key.p8)의 로컬 경로를 지정합니다.

    DSN에 설정된 값은 SQLSetConnectAttr() 함수를 호출하여 재정의할 수 있습니다. 자세한 내용은 SQLSetConnectAttr 함수의 Snowflake 고유 동작 을 참조하십시오.

    PRIV_KEY_FILE_PWD = <password>

    개인 키 파일의 암호를 해독하기 위한 암호를 지정합니다.

    이 매개 변수는 매개 변수 PRIV_KEY_FILE도 함께 설정된 경우에만 설정해야 합니다.

    DSN에 설정된 값은 SQLSetConnectAttr() 함수를 호출하여 재정의할 수 있습니다. 자세한 내용은 SQLSetConnectAttr 함수의 Snowflake 고유 동작 을 참조하십시오.

  3. 설정을 저장합니다.

로그 파일 관리하기

발생할지도 모르는 문제를 추적하는 데 도움이 되도록, ODBC 드라이버에서 로그 기록을 활성화할 수 있습니다. ODBC 드라이버는 로그 기록 설정과 로그 파일 관리에 사용할 수 있는 다음 구성 옵션을 제공합니다.

  • EnablePidLogFileNames: 로그 파일 이름에 프로세스 ID를 추가합니다.

  • LogFileCount: 저장된 로그 파일의 최대 개수를 설정합니다.

  • LogFileSize: 로그 파일의 최대 크기를 지정합니다.

  • LogLevel: 로그에 기록할 정보의 유형을 지정합니다.

  • LogPath: 로그 파일의 위치를 설정합니다.

이러한 매개 변수를 사용하여 로그 파일의 명명, 저장, 순환 방법을 관리할 수 있습니다. 새로 생성된 로그 파일로 바꾸기 전에 보관하려는 로그 파일의 크기와 수를 지정할 수 있습니다. 다음 예제에서는 고유성을 보장하기 위해 프로세스 ID를 파일 이름에 추가하고, 최대 파일 크기를 30MB로 설정하며, 가장 최근 로그 파일 100개를 보관합니다.

EnablePidLogFileNames = true  # Appends the process ID to each log file
LogFileSize = 30,145,728      # Sets log files size to 30MB
LogFileCount = 100            # Saves the 100 most recent log files
Copy

OCSP 커넥터 또는 드라이버 버전 확인하기

Snowflake는 OCSP를 사용하여 Snowflake로 연결할 때 인증서 체인을 평가합니다. 드라이버 또는 커넥터 버전 및 구성 모두를 통해 OCSP 동작이 결정됩니다. 드라이버 또는 커넥터 버전, 구성 및 OCSP 동작에 대한 자세한 내용은 OCSP 구성 를 참조하십시오.

OCSP 응답 캐시 서버

참고

OCSP 응답 캐시 서버는 현재 Snowflake ODBC 드라이버 2.15.0 이상 버전에서 지원됩니다.

Snowflake 클라이언트는 데이터를 실제로 전송하기 전 보안 연결을 설정하는 “핸드셰이크”를 사용하여 Snowflake 서비스 엔드포인트에 대한 모든 연결을 시작합니다. 핸드셰이크의 일부로 클라이언트는 서비스 엔드포인트에 대해 TLS 인증서를 인증합니다. CA(인증 기관)에 대한 OCSP(온라인 인증서 상태 프로토콜) 서버 중 1개에 클라이언트 인증서 요청을 전송하여 인증서의 해지 상태를 확인합니다.

OCSP 서버의 응답이 적절한 시간 이상 동안 지연되면 연결이 실패하게 됩니다. 해지 상태를 유지하여 이러한 문제를 완화하는 데 도움이 되는 캐시는 다음과 같습니다.

  • 메모리 캐시, 프로세스의 수명 동안 지속됩니다.

  • 파일 캐시, 캐시 디렉터리(예: ~/.cache/snowflake 또는 ~/.snowsql/ocsp_response_cache)가 삭제될 때까지 지속됩니다.

  • Snowflake OCSP 응답 캐시 서버, 매시간 CA의 OCSP 서버에서 OCSP 응답을 가져와 24시간 동안 저장합니다. 그러면 클라이언트는 이 서버 캐시에서 지정된 Snowflake 인증서의 유효성 검사 상태를 요청할 수 있습니다.

    중요

    서버 정책이 외부 IP 주소 및 웹 사이트의 대부분 또는 전체에 대한 액세스를 거부하도록 설정된 경우, 서비스가 정상적으로 작동하기 위해서는 반드시 허용 목록에 캐시 서버 주소를 추가해야 합니다. 캐시 서버 호스트 이름은 ocsp*.snowflakecomputing.com:80 입니다.

    어떤 이유로든 캐시 서버를 비활성화해야 하는 경우 SF_OCSP_RESPONSE_CACHE_SERVER_ENABLED 환경 변수를 false 로 설정합니다. 이 값은 대/소문자를 구분하며 반드시 소문자여야 함에 유의하십시오.

캐시 레이어에 OCSP 응답이 포함되어 있지 않으면 클라이언트는 CA을 위한 OCSP 서버에서 유효성 검사 상태를 직접 가져오기 위해 시도합니다.