

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Prise en main du pilote JDBC 3.x
<a name="jdbc-v3-driver-getting-started"></a>

Utilisez les informations de cette section pour commencer à utiliser le pilote JDBC 3.x Amazon Athena.

**Topics**
+ [Instructions d'installation](#jdbc-v3-driver-installation-instructions)
+ [Exécution du pilote](#jdbc-v3-driver-running-the-driver)
+ [Configuration du pilote](#jdbc-v3-driver-configuring-the-driver)
+ [Mise à niveau depuis le pilote Athena JDBC v2](#jdbc-v3-driver-upgrading-from-the-athena-jdbc-v2-driver-to-v3)

## Instructions d'installation
<a name="jdbc-v3-driver-installation-instructions"></a>

Vous pouvez utiliser le pilote JDBC 3.x dans une application personnalisée ou d'un client SQL tiers.

### Dans une application personnalisée
<a name="jdbc-v3-driver-installation-in-a-custom-application"></a>

Téléchargez le fichier `.zip` contenant le fichier jar du pilote et ses dépendances. Chaque dépendance possède son propre fichier `.jar`. Ajoutez le pilote jar en tant que dépendance dans votre application personnalisée. Ajoutez de manière sélective les dépendances du fichier jar du pilote selon que vous les avez déjà ajoutées ou non à votre application à partir d'une autre source.

### Dans un client SQL tiers
<a name="jdbc-v3-driver-installation-in-a-third-party-sql-client"></a>

Téléchargez le fichier uber jar du pilote et ajoutez-le au client SQL tiers en suivant les instructions pour ce client.

## Exécution du pilote
<a name="jdbc-v3-driver-running-the-driver"></a>

Pour exécuter le pilote, vous pouvez utiliser une application personnalisée ou un client SQL tiers.

### Dans une application personnalisée
<a name="jdbc-v3-driver-running-in-a-custom-application"></a>

Utilisez l'interface JDBC pour interagir avec le pilote JDBC à partir d'un programme. Le code suivant montre un exemple d'application Java personnalisée.

```
public static void main(String args[]) throws SQLException {
    Properties connectionParameters = new Properties();
    connectionParameters.setProperty("Workgroup", "primary");
    connectionParameters.setProperty("Region", "us-east-2");
    connectionParameters.setProperty("Catalog", "AwsDataCatalog");
    connectionParameters.setProperty("Database","sampledatabase");
    connectionParameters.setProperty("OutputLocation","s3://amzn-s3-demo-bucket");
    connectionParameters.setProperty("CredentialsProvider","DefaultChain");
    String url = "jdbc:athena://";
    AthenaDriver driver = new AthenaDriver();
    Connection connection = driver.connect(url, connectionParameters);
    Statement statement = connection.createStatement();
    String query = "SELECT * from sample_table LIMIT 10";
    ResultSet resultSet = statement.executeQuery(query);
    printResults(resultSet); // A custom-defined method for iterating over a
                             // result set and printing its contents
}
```

### Dans un client SQL tiers
<a name="jdbc-v3-driver-running-in-a-third-party-sql-client"></a>

Suivez la documentation du client SQL que vous utilisez. Généralement, vous utilisez l'interface utilisateur graphique du client SQL pour saisir et envoyer la requête, et les résultats de la requête sont affichés dans la même interface.

## Configuration du pilote
<a name="jdbc-v3-driver-configuring-the-driver"></a>

Vous pouvez utiliser les paramètres de connexion pour configurer le pilote Amazon Athena JDBC. Pour les paramètres de connexion pris en charge, veuillez consulter [Paramètres de connexion JDBC 3.x Amazon Athena](jdbc-v3-driver-connection-parameters.md).

### Dans une application personnalisée
<a name="jdbc-v3-driver-configuring-in-a-custom-application"></a>

Pour définir les paramètres de connexion du pilote JDBC d'une application personnalisée, effectuez l'une des actions suivantes :
+ Ajoutez les noms des paramètres et leurs valeurs à un objet `Properties`. Lorsque vous appelez `Connection#connect`, transmettez cet objet avec l'URL. Pour un exemple, veuillez consulter l'exemple d'application Java dans [Exécution du pilote](#jdbc-v3-driver-running-the-driver).
+ Dans la chaîne de connexion (l'URL), utilisez le format suivant pour ajouter les noms des paramètres et leurs valeurs directement après le préfixe du protocole.

  ```
  <parameterName>=<parameterValue>;
  ```

  Utilisez un point-virgule à la fin de chaque paire de name/parameter valeurs de paramètres et ne laissez aucun espace blanc après le point-virgule, comme dans l'exemple suivant.

  ```
  String url = "jdbc:athena://WorkGroup=primary;Region=us-east-1;...;";AthenaDriver driver = new AthenaDriver();Connection connection = driver.connect(url, null);
  ```
**Note**  
Si un paramètre est spécifié à la fois dans la chaîne de connexion et dans l'objet `Properties`, la valeur de la chaîne de connexion est prioritaire. Il n'est pas recommandé de spécifier le même paramètre aux deux endroits.
+ Ajoutez les valeurs des paramètres en tant qu'arguments aux méthodes de `AthenaDataSource`, comme dans l'exemple suivant.

  ```
  AthenaDataSource dataSource = new AthenaDataSource();
      dataSource.setWorkGroup("primary");
      dataSource.setRegion("us-east-2");
      ...
      Connection connection = dataSource.getConnection();
      ...
  ```

### Dans un client SQL tiers
<a name="jdbc-v3-driver-configuring-in-a-third-party-sql-client"></a>

Suivez les instructions du client SQL que vous utilisez. Généralement, le client fournit une interface utilisateur graphique pour saisir les noms des paramètres et leurs valeurs.

## Mise à niveau depuis le pilote Athena JDBC v2
<a name="jdbc-v3-driver-upgrading-from-the-athena-jdbc-v2-driver-to-v3"></a>

La plupart des paramètres de connexion de JDBC version 3 sont rétrocompatibles avec la version 2 (Simba). Cela signifie qu'une chaîne de connexion version 2 peut être réutilisée avec la version 3 du pilote. Certains paramètres de connexion ont toutefois changé. Ces modifications sont décrites ici. Lorsque vous effectuez une mise à niveau vers le pilote JDBC version 3, mettez à jour votre configuration existante si nécessaire.

### Classe de pilote
<a name="jdbc-v3-driver-upgrading-driver-class"></a>

Certains outils de BI vous demandent de fournir la classe de pilote à partir du fichier `.jar` du pilote JDBC. La plupart des outils trouvent automatiquement cette classe. Le nom entièrement qualifié de la classe dans le pilote de la version 3 est `com.amazon.athena.jdbc.AthenaDriver`. Dans le pilote version 2, la classe était `com.simba.athena.jdbc.Driver`.

### Chaîne de connexion
<a name="jdbc-v3-driver-upgrading-connection-string"></a>

Le pilote version 3 utilise `jdbc:athena://` pour le protocole au début de la chaîne de connexion JDBC. Il prend également en charge le protocole `jdbc:awsathena://` version 2, mais celui-ci est obsolète. Pour éviter des comportements non définis, la version 3 n'accepte pas les chaînes de connexion commençant par `jdbc:awsathena://` si la version 2 (ou tout autre pilote acceptant les chaînes de connexion commençant par`jdbc:awsathena://`) a été enregistrée auprès de la [DriverManager](https://docs.oracle.com/javase/8/docs/api/java/sql/DriverManager.html)classe.

### Fournisseurs d'informations d'identification
<a name="jdbc-v3-driver-upgrading-credentials-providers"></a>

Le pilote version 2 utilise des noms complets pour identifier les différents fournisseurs d'informations d'identification (par exemple `com.simba.athena.amazonaws.auth.DefaultAWSCredentialsProviderChain`). Le pilote version 3 utilise des noms plus courts (par exemple `DefaultChain`). Les nouveaux noms sont décrits dans les sections correspondantes pour chaque fournisseur d'informations d'identification.

Les fournisseurs d'informations d'identification personnalisés écrits pour le pilote version 2 doivent être modifiés pour que le pilote version 3 implémente l'[AwsCredentialsProvider](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/auth/credentials/AwsCredentialsProvider.html)interface à partir de la nouvelle interface AWS SDK pour Java au lieu de l'interface [AWSCredentialsfournisseur](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html) de l'ancienne AWS SDK pour Java.

Le fournisseur `PropertiesFileCredentialsProvider` n’est pas pris en charge dans le pilote JDBC 3.x. Le fournisseur a été utilisé dans le pilote JDBC 2.x mais il appartient à la version précédente du SDK pour AWS Java dont le support approche de la fin. Pour bénéficier des mêmes fonctionnalités dans le pilote JDBC 3.x, utilisez plutôt le fournisseur [AWS informations d'identification du profil de configuration](jdbc-v3-driver-aws-configuration-profile-credentials.md).

### Niveau du journal
<a name="jdbc-v3-driver-upgrading-log-level"></a>

Le tableau suivant montre les différences entre les paramètres `LogLevel` des pilotes JDBC version 2 et version 3.


****  

| Version du pilote JDBC | Nom du paramètre | Type de paramètre | Valeur par défaut | Valeurs possibles | Exemple de chaîne de connexion | 
| --- | --- | --- | --- | --- | --- | 
|   v2 | LogLevel | Facultatif | 0 | 0-6 | LogLevel=6; | 
| v3 | LogLevel | Facultatif | TRACE | OFF, ERROR, WARN, INFO, DEBUG, TRACE | LogLevel=INFO; | 

### Récupération de l'ID de requête
<a name="jdbc-v3-driver-upgrading-query-id-retrieval"></a>

Dans le pilote version 2, vous décompressez une instance `Statement` dans `com.interfaces.core.IStatementQueryInfoProvider`, une interface dotée de deux méthodes : `#getPReparedQueryId` et `#getQueryId`. Vous pouvez utiliser ces méthodes pour obtenir l'ID d'exécution d'une requête déjà exécutée.

Dans le pilote version 3, vous décompressez les instances `Statement`, `PreparedStatement` et `ResultSet` de l'interface `com.amazon.athena.jdbc.AthenaResultSet`. L'interface dispose d'une seule méthode : `#getQueryExecutionId`.