예: ODBC 연결 사용자 지정

SQL을 지원하는 데이터베이스에 대한 커넥터를 사용하는 경우 Tableau에서 해당 데이터베이스에 맞게 조정된 SQL 문이 생성됩니다. Tableau에는 ODBC 데이터 원본에서 사용하는 SQL 언어의 표현이 없으므로 다양한 테스트를 통해 지원되는 구문을 유추해야 합니다. 드라이버가 지원하는 SQL 언어에 대해 올바르지 않거나 완전하지 않은 정보를 보고할 경우 Tableau 사용자 지정을 사용하여 이 연결 정보를 세밀하게 조정하여 기능과 성능을 개선할 수 있습니다.

이 문서에서는 ODBC 연결을 만들고, 결과 Tableau 데이터 원본(TDS) 파일을 검사하고, 파일의 일부를 사용하여 ODBC 연결을 사용자 지정할 때 사용할 수 있는 Tableau 데이터 원본 사용자 지정(TDC) 파일을 만듭니다. 시작하기 전에 Tableau 및 ODBC의 내용을 숙지해야 합니다.

참고: Tableau에서는 ODBC 드라이버 연결 문제 해결을 위한 합리적인 수준의 고객 지원을 제공하지만 특정 ODBC 드라이버에 사용할 수 있는 커넥터를 만들거나 사용자 지정할 수는 없습니다.

ODBC 연결 만들기

이 섹션에서는 예를 사용하여 ODBC 연결을 만드는 방법을 보여 줍니다. 이 예에서는 SQLite ODBC 드라이버를 사용하여 SQLite 데이터베이스에 연결합니다.

필수 요건

이 문서에 나오는 ODBC 연결은 오픈 소스 데이터베이스인 SQLite(http://www.sqlite.org/)를 기반으로 합니다.

다음 두 항목을 다운로드해야 합니다.

고지 사항: 이 정보에는 타사 제품이 참조되어 있습니다. 이 예제는 이 제품을 다른 경쟁 제품과 비교하여 홍보하기 위한 것이 아닙니다.

연결 만들기

ODBC 연결을 만들려면 SQLite3 ODBC 드라이버를 사용하여 Northwind 데이터베이스에 연결한 다음 Tableau 데이터 원본(TDS) 파일로 연결을 저장합니다.

  1. Tableau Desktop을 엽니다.

  2. 시작 페이지의 연결에서 기타 데이터베이스(ODBC)를 클릭합니다.

    참고: Tableau 지원 커넥터(링크가 새 창에서 열림)가 이미 있는 데이터베이스의 경우 해당 커넥터의 이름을 클릭하여 연결을 만들 수 있습니다.

  3. 연결 방법에서 드라이버를 선택한 다음 드롭다운 목록에서 SQLite3 ODBC 드라이버를 선택합니다.

  4. 연결을 클릭합니다.

  5. 데이터베이스 이름 텍스트 상자 옆에 있는 찾아보기를 클릭하고 Northwind.sl3 파일의 위치로 이동한 다음 열기를 클릭합니다.

  6. 확인을 클릭하여 대화 상자를 닫고 로그인을 클릭합니다.

  7. 데이터 원본 페이지의 테이블 텍스트 상자에 Orders를 입력합니다.

  8. Orders 테이블을 캔버스로 끌어온 다음 시트 탭을 클릭합니다.

    "Tableau가 ODBC 데이터 원본에 대한 제한을 식별했습니다." 대화 상자가 열립니다. 세부 정보를 검토하거나 대화 상자를 무시하고 계속할 수 있습니다. 자세한 내용은 Tableau에서 ODBC 드라이버의 기능이 결정되는 방식을 참조하십시오.

  9. 데이터 > Orders [Northwind.sl3에 대한 경로] > 저장된 데이터 원본에 추가를 선택합니다.

  10. 저장을 클릭합니다.

  11. 통합 문서를 닫습니다. 변경 사항을 저장할지 묻는 메시지가 표시되면 아니요를 클릭합니다.

이제 TDS 파일을 열어 SQLite 연결을 검사할 수 있습니다.

TDS 파일의 XML 구조 검토

저장된 Tableau 데이터 원본(TDS) 파일을 텍스트 편집기에서 열어 파일의 XML 구조를 확인합니다. 기본적으로 위에서 만든 파일은 이름이 Northwind.sl3.tds이고 다음 경로에 위치합니다.

Users\[your name]\Documents\My Tableau Repository\Datasources

또는

Users\[your name]\Documents\My Tableau Repository (Beta)\Datasources

이 파일은 Northwind Orders 테이블에 대한 SQLite 연결을 설명하는 XML 문서입니다. <connection> 섹션의 <connection-customization> 요소에 편집할 수 있는 <customization> 요소가 포함되어 있습니다.

공급업체 및 드라이버 이름

connection customization 섹션은 Tableau에서 ODBC 드라이버 및 데이터베이스 공급업체로 검색한 이름으로 시작됩니다. Tableau에서는 이 정보를 사용하여 특정 연결 사용자 지정을 단일 ODBC 데이터 원본 유형에 연결합니다. 섹션은 다음과 같습니다.

<connection-customization class='genericodbc' enabled='false' version='10.1'>
<vendor name='SQLite' />
<driver name='SQLite3 ODBC Driver' />
<customizations>

사용자 지정 유형

Tableau에서는 Tableau 특정 기능과 SQLGetInfo에 대한 ODBC API 호출이라는 두 가지 유형의 사용자 지정을 허용합니다. 이러한 사용자 지정은 이름/값 쌍으로 구성되며 Tableau 기능에는 CAP_을, SQLGetInfo API 호출에는 SQL_을 사용하는 명명 규칙을 따릅니다.

저장된 데이터 원본 파일에는 두 유형의 사용자 지정에 대한 예가 포함되어 있습니다. 이러한 사용자 지정은 연결 시 Tableau에서 드라이버를 쿼리하여 검색된 값을 나타냅니다. 사용자 지정 목록이 불완전하거나 올바르지 않을 수 있습니다. 사용자 지정을 사용하여 Tableau에서 ODBC 데이터 원본에 연결할 때의 동작을 수정하고 결정할 수 있습니다.

다음 문서에는 사용자 지정에 대한 전체 참조가 포함되어 있습니다. 환경에서 예상한 대로 동작하도록 ODBC 연결을 조정하는 방법을 이해해야 합니다. 목록을 검토하여 ODBC 연결을 조정할 때 사용할 수 있는 사용자 지정에 대한 정보를 확인하십시오.

사용자 지정 값 형식

  • 모든 사용자 지정 값은 각 이름/값 쌍 문자열로 나타납니다.

  • Tableau 기능은 yes 또는 no로 나타나는 부울 값입니다.

  • SQLGetInfo 값은 지정된 식별자에 대한 SQLGetInfo의 예상 반환 값에 따라 긴 정수, 짧은 정수 또는 문자열 데이터일 수 있습니다.

  • 대부분의 정수 필드는 기능 모음을 나타내는 비트 마스크입니다.

TDC 파일을 사용하여 사용자 지정을 전역으로 만들기

지정된 ODBC 데이터 원본의 모든 연결에 사용자 지정 변경 내용을 적용하려면 Tableau 데이터 원본 사용자 지정(TDC) 파일을 만들어야 합니다. 이 파일에는 <connection-customization> 섹션만 포함되며 TDC 파일에 기술된 데이터베이스 공급업체 이름 및 드라이버 이름과 일치하는 모든 새로운 Tableau 연결에 적용됩니다(공급업체 및 드라이버 이름의 설명 참조). 기존 통합 문서나 데이터 원본 파일에 사용자 지정 섹션이 이미 설정되어 있는 경우에는 TDC 파일이 아닌 해당 파일에서 제공하는 사용자 지정만 사용됩니다.

중요: Tableau는 TDC 파일을 테스트하거나 지원을 제공하지 않습니다. 이러한 파일은 데이터 연결을 탐색하거나 관련 문제를 해결하기 위한 도구로 사용해야 합니다. TDC 파일을 만들고 유지 관리할 때 주의하여 편집해야 하며 이러한 파일의 공유는 지원 대상이 아닙니다.

TDC 파일 만들기

TDC 파일을 만드는 경우 파일을 올바른 위치에 저장해야 연결에 사용될 수 있습니다. Tableau Server에 게시할 통합 문서를 만드는 경우 TDC 파일을 서버에도 저장해야 합니다. 자세한 내용은 Tableau 기술 자료에서 Tableau Server에서 TDC 파일 사용(링크가 새 창에서 열림)을 참조하십시오.

TDC 파일의 구조

각 TDC 파일은 다음과 같은 기본 구조를 따릅니다.

<connection-customization class=DSCLASS enabled='true' version='10.0'>
    <vendor name=VENDOR />
    <driver name=DRIVER />
    <customizations>
        <customization name='CAP_FAST_METADATA' value='yes'/>
        ...
    </customizations>
</connection-customization>

TDC 파일에는 세 가지 기본 섹션이 있습니다.

  • 연결 사용자 지정 변수
  • 공급업체 및 드라이버 이름
  • 사용자 지정 자체

connection-customization 섹션은 다음을 포함합니다.

  • Class - 연결하여 사용자 지정하려는 데이터 원본입니다.
  • Enabled - TDC 파일 연결 사용자 지정이 적용되는지 여부를 지정합니다. TDC 파일에서 항상 “true”로 설정합니다.
  • Version - 버전 번호는 무시됩니다.

다음 섹션은 이 TDC 파일의 데이터 원본에 대한 데이터베이스 공급자의 공급업체 이름 및 드라이버 이름을 식별하므로 매우 중요합니다. 각 TDC 파일은 하나의 데이터 원본 유형에만 바인딩할 수 있습니다. 네이티브 데이터 원본인 경우 두 이름 모두 데이터 원본 클래스 이름과 일치해야 합니다. 예를 들어 “teradata”는 Teradata 연결을 위한 것입니다. ODBC 데이터 원본의 경우 TDC 파일의 공급업체 이름 및 드라이버 이름이 데이터베이스 및 드라이버가 Tableau에 보고하는 이름과 일치해야 합니다. 예를 들어 “SQLite” 및 “SQLite3 ODBC 드라이버”여야 합니다.

마지막 섹션에는 실제 연결 사용자 지정이 나열됩니다.

Tableau Desktop에서 TDC 파일 사용

  1. 테스트 편집기를 사용하여 앞서 저장한 데이터 원본 파일의 <connection-customization> 섹션 전체를 복사한 후 붙여 넣습니다. 참조는 샘플 SQLite TDC 파일을 참조하십시오.

  2. 파일의 이름을 odbc-sqlite.tdc로 지정하고 Documents\My Tableau Repository\Datasources에 저장합니다.

    참고: 이 파일은 .tdc 확장명을 사용하여 저장해야 하지만 이름은 어떤 이름이든 상관없습니다.

  3. 변경 사항을 적용하려면 Tableau Desktop을 다시 시작해야 합니다.

  4. 연결 만들기에 설명된 대로 SQLite에 대한 새 연결을 만듭니다.

  5. 해당 연결로 이동하여 Tableau Desktop 로그 파일을 열고 아래 예와 유사한 레코드를 찾아 이 사용자 지정 파일이 새 연결에 적용되었는지 확인합니다.

로그 파일 위치레코드 예
기본적으로 C:\Users\<user>\Documents\내 Tableau 리포지토리\LogsFound matching TDC 'C:\\Users\\<name>\\Documents\\My Tableau Repository\\Datasources\\odbc-sqlite.tdc' for class='genericodbc', vendor='SQLite', and driver='SQLite3 ODBC Driver'

Tableau Prep Builder에서 TDC 파일 사용

  1. 테스트 편집기를 사용하여 앞서 저장한 데이터 원본 파일의 <connection-customization> 섹션 전체를 복사한 후 붙여 넣습니다. 참조는 샘플 SQLite TDC 파일을 참조하십시오.

  2. 파일의 이름을 odbc-sqlite.tdc로 지정하고 다음 위치에 저장합니다.

    • Windows의 경우:

      Documents\My Tableau Prep Repository\Datasource

    • Mac의 경우:

      Documents/My Tableau Prep Repository/Datasources

    참고: 이 파일은 .tdc 확장명을 사용하여 저장해야 하지만 이름은 어떤 이름이든 상관없습니다.

  3. 변경 사항을 적용하려면 Prep을 다시 시작합니다.

  4. 로그 파일로 이동하여 열고 아래 예와 유사한 레코드를 찾아 이 사용자 지정 파일이 새 연결에 적용되었는지 확인합니다.

로그 파일 위치레코드 예
기본값: C:\Users\<사용자>\Documents\내 Tableau Prep 리포지토리\로그Found matching TDC 'C:\\Users\\<name>\\Documents\\My Tableau Prep Repository\\Datasources\\odbc-sqlite.tdc' for class='genericodbc', vendor='SQLite', and driver='SQLite3 ODBC Driver'

Tableau Server에서 TDC 파일 사용

  1. 테스트 편집기를 사용하여 앞서 저장한 데이터 원본 파일의 <connection-customization> 섹션 전체를 복사한 후 붙여 넣습니다. 참조는 샘플 SQLite TDC 파일을 참조하십시오.

  2. 파일의 이름을 odbc-sqlite.tdc로 지정하고 다음 위치에 저장합니다.

    • Windows의 경우:

      Tableau Server 2018.2 이전 버전:

      Program Files\Tableau\Tableau Server\<version>\bin

      Tableau Server 2018.2 버전부터:

      Program Files\Tableau\Tableau Server\packages\bin.<build number>

      또는 모든 Tableau Server 버전:

      ProgramData\Tableau\Tableau Server\data\tabsvc\vizqlserver\Datasources

      파일을 저장하려면 서버 컴퓨터의 Windows 관리자여야 합니다.

    • Linux의 경우:

      /var/opt/tableau/tableau_server/data/tabsvc/vizqlserver/Datasources/

    참고: 이 파일은 .tdc 확장명을 사용하여 저장해야 하지만 이름은 어떤 이름이든 상관없습니다. 일관된 동작을 위해 TDC 파일을 모든 서버 노드에 저장해야 합니다.

  3. Tableau Prep Conductor(흐름 실행용) 또는 Prep Web Authoring(웹에서 흐름 편집용)의 경우 TDC 파일을 추가 디렉터리에 배치해야 합니다.

    Prep Conductor

    • Windows의 경우:

      <data directory>\tabsvc\flowprocessor\Datasources

    • Linux의 경우:

      <data directory>/tabsvc/flowprocessor/Datasources

    Prep 웹 작성

    • Windows의 경우:

      <data directory>\tabsvc\flowminerva\Datasources

    • Linux의 경우:

      <data directory>/tabsvc/flowmineva/Datasources

  4. 변경 사항을 적용하려면 Tableau Server를 다시 시작해야 합니다.

  5. 해당 연결로 이동하여 Tableau Server 로그 파일을 열고 아래 예와 유사한 레코드를 찾아 이 사용자 지정 파일이 새 연결에 적용되었는지 확인합니다.

로그 파일 위치레코드 예

<설치 경로>\Tableau Server\data\tabsvc\log\vizqlserver

<설치 경로>\Tableau Server\data\tabsvc\log\backgrounder

<설치 경로>\Tableau Server\data\tabsvc\log\dataserver

<설치 경로>\Tableau Server\data\tabsvc\log\vizportal

Found matching TDC 'C:\\ProgramData\\Tableau\\Tableau Server\\data\\tabsvc\\vizqlserver\\Datasources\\odbc-sqlite.tdc for class='genericodbc', vendor='SQLite', and driver='SQLite3 ODBC Driver'

샘플 SQLite TDC 파일

<?xml version='1.0' encoding='utf-8' ?>
<connection-customization class='genericodbc' enabled='true' version='7.8'>
<vendor name='SQLite' />
<driver name='SQLite3 ODBC Driver' />
	<customizations>
		<customization name='CAP_CREATE_TEMP_TABLES' value='yes' />
		<customization name='CAP_QUERY_BOOLEXPR_TO_INTEXPR' value='yes' />
		<customization name='CAP_QUERY_GROUP_BY_ALIAS' value='no' />
		<customization name='CAP_QUERY_GROUP_BY_DEGREE' value='yes' />
		<customization name='CAP_QUERY_JOIN_ACROSS_SCHEMAS' value='no' />
		<customization name='CAP_QUERY_JOIN_REQUIRES_SCOPE' value='no' />
		<customization name='CAP_QUERY_SUBQUERIES' value='yes' />
		<customization name='CAP_QUERY_SUBQUERIES_WITH_TOP' value='yes' />
		<customization name='CAP_SELECT_INTO' value='no' />
		<customization name='CAP_SELECT_TOP_INTO' value='yes' />
		<customization name='SQL_AGGREGATE_FUNCTIONS' value='127' />
		<customization name='SQL_SQL_CONFORMANCE' value='4' />
	</customizations>
</connection-customization>

ODBC 연결 사용자 지정

데이터 원본에 대한 ODBC 연결을 만들고 필요한 메타데이터 및 데이터를 가져올 수 있음을 확인했다고 가정하겠습니다. 이제 추출을 만들거나 라이브 연결을 그대로 사용하여 필요한 기능을 사용할 수 있는지 확인해야 합니다. 사용할 수 있다면 이전에 만든 TDC 파일로 충분하며 연결을 사용자 지정하지 않아도 됩니다.

TDC 파일이 원하는 방식으로 작동하지 않을 경우 연결을 사용자 지정할 수 있습니다. 환경에서 예상한 대로 동작하도록 ODBC 연결을 조정하는 방법을 이해해야 합니다. 목록을 검토하여 ODBC 연결을 조정할 때 사용할 수 있는 사용자 지정을 확인하십시오.

기능 개선을 위한 일반 사용자 지정

다음 사용자 지정은 최적이 아닌 기본 기능이 포함된 데이터 원본의 기능을 개선하는 데 도움이 될 수 있습니다.

  • CAP_SUPPRESS_DISCOVERY_QUERIES – 이 값을 true 로 설정하면 Tableau에서 연결을 시작할 때 드라이버의 기능을 확인하기 위해 SQL 쿼리를 수행하지 않습니다. 이 경우 Tableau에서 이러한 기능을 자동으로 결정할 수 없으므로 다른 기능을 명시적으로 설정해야 하는지 여부를 고려해야 합니다.

  • SQL_SQL_CONFORMANCE – 이 설정은 데이터 원본에서 완전하게 지원하는 SQL 표준의 수준을 나타냅니다. Tableau는 항목 이상의 적합성 수준에서 가장 잘 작동하므로 데이터 원본에서 지원하는 경우 이 값을 1 이상으로 설정해야 합니다.

  • SQL_AGGREGATE_FUNCTIONS – 이 설정은 지원되는 집계 함수를 나타냅니다(예: MIN, MAX, SUM). 값 '127'은 모든 표준 SQL 집계 함수에 대한 지원을 나타냅니다.

제한 수준이 높은 데이터 원본 처리

일부 데이터 원본은 제한 수준이 너무 높아 Tableau에서 연결을 만드는 단계를 완료할 수 없습니다. 간혹 그 원인이 드라이버 내의 충돌로 인해 Tableau의 작동이 중단되었기 때문일 수 있습니다. 전역 TDC 파일을 사용하면 이러한 불안정 문제와 관련이 있을 수 있는 Tableau의 쿼리 실행이나 기능 확인을 방지할 수 있습니다.

이 파일을 만들려면 데이터베이스 공급업체 이름과 ODBC 드라이버 이름을 알아야 합니다.

  1. Tableau에서 새 연결을 만들고 로그 파일을 연 후 다음과 같은 줄을 찾습니다.
    GenericODBCProtocol::Connect: Detected vendor: 'SQLite' and driver: 'SQLite3 ODBC Driver'
  2. 나열된 vendor 이름과 driver 이름을 사용하여 TDC 파일을 만듭니다. 공급업체 및 드라이버 이름의 예를 참조하십시오.

  3. CAP_SUPPRESS_DISCOVERY_QUERIES와 같은 사용자 지정을 사용하여 제한된 데이터 원본과 Tableau의 상호 작용을 제한합니다.

ODBC 드라이버 설정 구성

ODBC 드라이버는 서버, 사용자 이름, 비밀번호 등의 연결 세부 정보를 제공할 수 있는 대화 상자를 제공합니다. 대부분의 대화 상자는 연결 동작을 제어하는 고급 옵션을 제공합니다. ODBC 연결의 기능이나 성능을 개선하기 위한 방법을 찾고 있는 경우 이러한 옵션을 고려해야 합니다. 특히 아래 항목은 과거에 Tableau의 ODBC 연결에서 발생한 문제의 원인일 수 있으므로 주의 깊게 검토하십시오.

  • 트랜잭션 격리 - 기본적으로 READ, COMMITTED 또는 SERIALIZABLE 로 설정하여 쿼리가 보류 중인 트랜잭션의 데이터를 결과에 포함하지 않도록 합니다.

  • 커서 - 기본적으로 커서를 Streaming 대신 Holdable 또는 Scrollable 커서로 설정합니다. Tableau에서는 각 읽기 전용 분석 쿼리 후 트랜잭션을 닫으므로 Streaming 커서를 사용할 경우 커서가 잘리고 Tableau에서 완전하지 않은 결과가 표시될 수 있습니다.

  • 행/결과 집합 버퍼 - 기본적으로 큰 버퍼 크기로 설정하여 대량 행 가져오기의 성능을 개선합니다. 이렇게 하면 추출 생성 속도가 눈에 띄게 향상될 수 있습니다. 캐시 크기 또는 응답 크기라고도 합니다.

  • 문자 집합 - 기본적으로 내림차순 문자 집합(UTF-16, UTF-8, ASCII)으로 설정합니다.

SQLite 고급 사용자 지정

Tableau에서는 SQLite에 대한 특수 사용자 지정이 기본 제공됩니다. 이러한 사용자 지정은 통합 문서 파일, 데이터 원본 파일 또는 전역 TDS 파일의 SQLite에 대한 모든 연결 사용자 지정보다 우선합니다. SQLite 연결 사용자 지정에 고급 변경을 수행하려면 Tableau에서 고유한 SQLite 언어를 무시하도록 설정해야 합니다. 이 작업은 보고된 데이터베이스 공급업체 이름(<customization name='SQL_DBMS_NAME' value='SQLite' />)을 SQLite-Tableau와 같은 다른 값으로 변경하여 수행할 수 있습니다.

ODBC 설명서 참조

Microsoft MSDN에는 ODBC 표준에 대한 설명서가 있습니다. 특히 ODBC 부록(링크가 새 창에서 열림)이 이 문서의 리소스로 가장 적합합니다.

참고 항목

기타 데이터베이스(ODBC) – ODBC 커넥터를 사용하여 데이터에 연결하는 방법을 설명합니다.

Tableau 및 ODBC – ODBC에 대한 배경 정보를 제공하고, Tableau가 ODBC 드라이버의 기능을 확인하는 방법을 설명하고, 자주 묻는 질문이 나와 있습니다.

Tableau 기능 사용자 지정 참조 – 데이터 원본에서 지원하는 Tableau 기능을 정의하는 데 사용할 수 있는 사용자 지정이 나와 있습니다.

ODBC/SQL 사용자 지정 참조 – ODBC 드라이버가 지원하는 것으로 보고하는 ODBC 및 SQL 표준 부분을 나타내는 사용자 지정을 나열합니다.

기본 커넥터의 연결 문자열 사용자 지정(영문)(링크가 새 창에서 열림) – Tableau 커뮤니티의 이 문서에서는 odbc-connect-string-extras 사용자 지정을 사용하여 기본 커넥터로 수행된 연결을 수정하는 방법을 설명합니다.

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!