

# Opções avançadas
<a name="odbc-v2-driver-advanced-options"></a>

## Tamanho da busca
<a name="odbc-v2-driver-advanced-options-fetch-size"></a>

O número máximo de resultados (linhas) a serem retornados nesta solicitação. Para obter informações sobre parâmetros, consulte [GetQuery MaxResults](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryResults.html#athena-GetQueryResults-request-MaxResults). Para a API de transmissão, o valor máximo é 10000000.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| RowsToFetchPerBlock | Opcional |  `1000` que não seja transmissão `20000` para transmissão  | RowsToFetchPerBlock=20000; | 

## Buscador de resultados
<a name="odbc-v2-driver-advanced-options-result-fetcher"></a>

O buscador de resultados padrão baixa os resultados de consultas diretamente do Amazon S3 sem passar pelas operações da API do Athena. Quando detecta situações em que o download direto do S3 não é possível, ele automaticamente recorre à operação da API `GetQueryResultsStream`. Por exemplo, isso acontece quando os resultados de consultas são criptografados com a opção `CSE_KMS`. 

O uso do buscador `auto` é recomendado na maioria das situações. Se suas políticas do IAM ou as políticas de bucket do S3 usarem a condição `s3:CalledVia` para limitar o acesso a objetos do S3 para solicitações do Athena, o buscador automático primeiro tentará fazer o download dos resultados do S3 e recorrerá a `GetQueryResultsStream`. Nessa situação, é possível configurar o `ResultFetcher` para `GetQueryResultsStream`, evitando uma chamada de API adicional.

**nota**  
O driver ainda reconhece os parâmetros Enable streaming API (`UseResultsetStreaming=1;`) e Enable S3 fetcher (`EnableS3Fetcher=1;`). No entanto, recomendamos que você use o parâmetro `ResultFetcher` para uma melhor experiência.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Possíveis valores** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | --- | 
|  ResultFetcher  | Opcional | auto | auto, S3, GetQueryResults, GetQueryResultsStream | ResultFetcher=auto | 

## Habilitar a reutilização de resultados
<a name="odbc-v2-driver-advanced-options-enable-result-reuse"></a>

Especifica se os resultados da consulta anterior poderão ser reutilizados quando a consulta for executada. Para obter informações sobre parâmetros, consulte ResultReuseByAgeConfiguration.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| EnableResultReuse | Opcional | 0 | EnableResultReuse=1; | 

## Idade máxima da reutilização de resultados
<a name="odbc-v2-driver-advanced-options-result-reuse-max-age"></a>

Especifica, em minutos, a idade máxima de um resultado de consulta anterior que o Athena deverá considerar para reutilização. Para obter informações sobre parâmetros, consulte [ResultReuseByAgeConfiguration](https://docs.aws.amazon.com/athena/latest/APIReference/API_ResultReuseByAgeConfiguration.html).


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| ReusedResultMaxAgeInMinutes | Opcional | 60 | ReusedResultMaxAgeInMinutes=90; | 

## Usar vários threads do S3
<a name="odbc-v2-driver-advanced-options-use-multiple-s3-threads"></a>

Busca dados do Amazon S3 usando vários threads. Quando essa opção está habilitada, o arquivo de resultados armazenado no bucket do Amazon S3 é buscado em paralelo usando vários threads.

Habilite essa opção somente se você tiver uma boa largura de banda da rede. Por exemplo, em nossas medições em uma instância do EC2 [c5.2xlarge](https://aws.amazon.com/ec2/instance-types/c5/), um cliente S3 de thread único atingiu 1 Gbps, enquanto clientes S3 de vários segmentos atingiram 4 Gbps de throughput de rede.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
|  UseMultipleS3Threads  | Opcional | 0 | UseMultipleS3Threads=1; | 

## Usar um único catálogo e esquema
<a name="odbc-v2-driver-advanced-options-use-single-catalog-and-schema"></a>

Por padrão, o driver ODBC consulta o Athena para obter a lista de catálogos e esquemas disponíveis. Essa opção força o driver a usar o catálogo e o esquema especificados pela caixa de diálogo de configuração Administrador de fonte de dados ODBC ou pelos parâmetros de conexão. 


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| UseSingleCatalogAndSchema | Opcional | 0 | UseSingleCatalogAndSchema=1; | 

## Usar consulta para listar tabelas
<a name="odbc-v2-driver-advanced-options-use-query-to-list-tables"></a>

Para catálogos do tipo `LAMBDA`, permite que o driver ODBC envie uma consulta [SHOW TABLES](show-tables.md) para obter uma lista das tabelas disponíveis. Essa é a configuração padrão. Se esse parâmetro for definido como 0, o driver ODBC usará a API [ListTableMetadata](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListTableMetadata.html) do Athena para obter uma lista das tabelas disponíveis. Observe que, para catálogos do tipo `LAMBDA`, o uso de `ListTableMetadata` resulta em regressão de desempenho. 


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| UseQueryToListTables | Opcional | 1 | UseQueryToListTables=1; | 

## Usar WCHAR para tipos de strings
<a name="odbc-v2-driver-advanced-options-use-wchar-for-string-types"></a>

Por padrão, o driver ODBC usa `SQL_CHAR` e `SQL_VARCHAR` para os tipos de dados de string `char`, `varchar`, `string`, `array`, `map<>`, `struct<>` e `row` do Athena. Definir esse parâmetro como `1` força o driver a usar `SQL_WCHAR` e `SQL_WVARCHAR` para tipos de dados de string. Os tipos caractere largo e variável larga são usados para garantir que seja possível armazenar e recuperar corretamente caracteres de diferentes linguagens.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| UseWCharForStringTypes | Opcional | 0 | UseWCharForStringTypes=1; | 

## Consultar catálogos externos
<a name="odbc-v2-driver-query-advanced-options-external-catalogs"></a>

Especifica se o driver precisa consultar catálogos externos do Athena. Para obter mais informações, consulte [Migrar para o driver ODBC 2.x](odbc-v2-driver-migrating.md).


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| QueryExternalCatalogs | Opcional | 0 | QueryExternalCatalogs=1; | 

## Verificar SSL
<a name="odbc-v2-driver-advanced-options-verify-ssl"></a>

Controla se os certificados SSL deverão ser verificados ao usar o AWS SDK. Esse valor é transmitido ao parâmetro `ClientConfiguration.verifySSL`. Para obter mais informações, consulte [AWS Client configuration](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/client-config.html) no *Guia do desenvolvedor do AWS SDK para C\$1\$1*.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| VerifySSL | Opcional | 1 | VerifySSL=0; | 

## Tamanho do bloco de resultados do S3
<a name="odbc-v2-driver-advanced-options-s3-result-block-size"></a>

Especifica, em bytes, o tamanho do bloco a ser baixado para uma única solicitação da API [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) do Amazon S3. O valor padrão é 67108864 (64 MB). Os valores mínimo e máximo permitidos são 10485760 (10 MB) e 2146435072 (cerca de 2 GB). 


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| S3ResultBlockSize | Opcional | 67108864 | S3ResultBlockSize=268435456; | 

## Comprimento da coluna de string
<a name="odbc-v2-driver-advanced-options-string-column-length"></a>

Especifica o comprimento da coluna para colunas com um tipo de dados `string`. Como o Athena usa o [tipo de dados de string do Apache Hive](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-StringsstringStrings), que não tem precisão definida, o tamanho padrão relatado pelo Athena é 2147483647 (`INT_MAX`). Como as ferramentas de BI geralmente pré-alocam memória para as colunas, isso pode resultar em alto consumo de memória. Para evitar isso, o driver ODBC do Athena limita a precisão relatada para colunas do tipo de dados `string` e expõe o parâmetro de conexão `StringColumnLength` para que seja possível alterar o valor padrão.


****  

| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão | 
| --- | --- | --- | --- | 
| StringColumnLength | Opcional | 255 | StringColumnLength=65535; | 

## Comprimento de coluna de tipo complexo
<a name="odbc-v2-driver-advanced-options-complex-type-column-length"></a>

Especifica o comprimento da coluna para colunas com tipos de dados complexos, como `map`, `struct` e `array`. Assim como [StringColumnLength](#odbc-v2-driver-advanced-options-string-column-length), o Athena relata 0 de precisão para colunas com tipos de dados complexos. O driver ODBC do Athena define a precisão padrão para colunas com tipos de dados complexos e expõe o parâmetro de conexão `ComplexTypeColumnLength` para que seja possível alterar o valor padrão.


****  

| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão | 
| --- | --- | --- | --- | 
| ComplexTypeColumnLength | Opcional | 65535 | ComplexTypeColumnLength=123456; | 

## Certificado CA confiável
<a name="odbc-v2-driver-advanced-options-trusted-ca-certificate"></a>

Instrui o cliente HTTP sobre onde encontrar o armazenamento confiável de certificados SSL. Esse valor é transmitido ao parâmetro `ClientConfiguration.caFile`. Para obter mais informações, consulte [AWS Client configuration](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/client-config.html) no *Guia do desenvolvedor do AWS SDK para C\$1\$1*.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| TrustedCerts | Opcional | %INSTALL\$1PATH%/bin | TrustedCerts=C:\$1\$1Program Files\$1\$1Amazon Athena ODBC Driver\$1\$1bin\$1\$1cacert.pem; | 

## Período mínimo de sondagem
<a name="odbc-v2-driver-advanced-options-min-poll-period"></a>

Especifica o valor mínimo, em milissegundos, a ser aguardado antes de sondar o Athena sobre o status de execução da consulta.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| MinQueryExecutionPollingInterval | Opcional | 100 | MinQueryExecutionPollingInterval=200; | 

## Período máximo de sondagem
<a name="odbc-v2-driver-advanced-options-max-poll-period"></a>

Especifica o valor máximo, em milissegundos, a ser aguardado antes de sondar o Athena sobre o status de execução da consulta.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| MaxQueryExecutionPollingInterval | Opcional | 60000 | MaxQueryExecutionPollingInterval=1000; | 

## Multiplicador de sondagens
<a name="odbc-v2-driver-advanced-options-poll-multiplier"></a>

Especifica o fator para aumentar o período da sondagem. Por padrão, a sondagem começa com o valor do período mínimo de sondagem e dobra com cada sondagem até atingir o valor do período máximo de sondagem.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| QueryExecutionPollingIntervalMultiplier | Opcional | 2 | QueryExecutionPollingIntervalMultiplier=2; | 

## Duração máxima da sondagem
<a name="odbc-v2-driver-advanced-options-max-poll-duration"></a>

Especifica o valor máximo, em milissegundos, a ser aguardado para que o driver possa sondar o Athena sobre o status de execução da consulta.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| MaxPollDuration | Opcional | 1800000 | MaxPollDuration=1800000; | 

## Tempo limite da conexão
<a name="odbc-v2-driver-advanced-options-connection-timeout"></a>

O tempo (em milissegundos) que a conexão HTTP aguardará para estabelecer uma conexão. Esse valor é definido para o cliente Athena `ClientConfiguration.connectTimeoutMs`. Se não for especificado, o valor padrão de curl será usado. Para obter informações sobre parâmetros de conexão, consulte [Client Configuration](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/section-client-configuration.html) no *Guia do desenvolvedor do AWS SDK para Java*.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| ConnectionTimeout | Opcional | 0 | ConnectionTimeout=2000; | 

## Tempo limite da solicitação
<a name="odbc-v2-driver-advanced-options-request-timeout"></a>

Especifica o tempo limite de leitura do soquete para clientes HTTP. Esse valor é definido para o parâmetro `ClientConfiguration.requestTimeoutMs` do cliente Athena. Para obter informações sobre parâmetros, consulte [Client Configuration](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/section-client-configuration.html) no *Guia do desenvolvedor do AWS SDK para Java*.


****  

| **Nome da string de conexão** | **Tipo de parâmetro** | **Valor padrão** | **Exemplo de string de conexão** | 
| --- | --- | --- | --- | 
| RequestTimeout | Opcional | 10000 | RequestTimeout=30000; | 