

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.

# ODBC
<a name="query-ODBC"></a>

Le [pilote ODBC](https://github.com/awslabs/aws-iotsitewise-odbc-driver) open source AWS IoT SiteWise fournit une interface SQL relationnelle aux développeurs et permet la connectivité AWS IoT SiteWise à partir d'outils de business intelligence (BI) tels que Power BI Desktop et Microsoft Excel. Le pilote AWS IoT SiteWise ODBC est actuellement disponible [sous Windows](https://github.com/awslabs/aws-iotsitewise-odbc-driver/releases) et prend en charge le SSO avec Okta et Microsoft Azure Active Directory (AD).

Pour plus d'informations, consultez la [documentation du pilote AWS IoT SiteWise ODBC sur GitHub](https://github.com/awslabs/aws-iotsitewise-odbc-driver/blob/main/docs/markdown/index.md).

**Topics**
+ [Syntaxe et options de la chaîne de connexion pour le pilote ODBC](query-ODBC-connecting.md)
+ [Exemples de chaînes de connexion pour le AWS IoT SiteWise pilote ODBC](query-ODBC-connecting-examples.md)
+ [Résolution des problèmes de connexion avec le pilote ODBC](query-ODBC-connecting-troubleshooting.md)

# Syntaxe et options de la chaîne de connexion pour le pilote ODBC
<a name="query-ODBC-connecting"></a>

La syntaxe permettant de spécifier les options de chaîne de connexion pour le pilote ODBC est la suivante :

```
Driver={AWS IoT SiteWise ODBC Driver};(option)=(value);
```

Les options disponibles sont les suivantes :

**Options de connexion du pilote**
+ **`Driver`***(obligatoire)* — Le pilote utilisé avec ODBC.

  La valeur par défaut est AWS IoT SiteWise.
+ **`DSN`**— Le nom de la source de données (DSN) à utiliser pour configurer la connexion.

  La valeur par défaut est `NONE`.
+ **`Auth`**— Le mode d'authentification. Il doit s'agir de l'une des options suivantes :
  + `AWS_PROFILE`— Utilisez la chaîne d'informations d'identification par défaut.
  + `IAM`— Utilisez les informations d'identification AWS IAM.
  + `AAD`— Utilisez le fournisseur d'identité Azure Active Directory (AD).
  + `OKTA`— Utilisez le fournisseur d'identité Okta.

  La valeur par défaut est `AWS_PROFILE`.

**Options de configuration des terminaux**
+ **`EndpointOverride`**— La dérogation du point de terminaison pour le AWS IoT SiteWise service. Il s'agit d'une option avancée qui remplace la région. Par exemple :

  ```
  iotsitewise.us-east-1.amazonaws.com
  ```
+ **`Region`**— La région de signature du point de terminaison du AWS IoT SiteWise service.

  La valeur par défaut est `us-east-1`.

**Option de fournisseur d'informations d'identification**
+ **`ProfileName`**— Le nom du profil dans le fichier de AWS configuration.

  La valeur par défaut est `NONE`.

**AWS Options d'authentification IAM**
+ **`UID`**ou **`AccessKeyId`**— L'identifiant de la clé d'accès AWS utilisateur. Si `UID` les deux `AccessKeyId` sont fournis dans la chaîne de connexion, la `UID` valeur sera utilisée sauf si elle est vide.

  La valeur par défaut est `NONE`.
+ **`PWD`**ou **`SecretKey`**— La clé d'accès secrète de l'utilisateur AWS. Si `PWD` les deux `SecretKey` sont fournis dans la chaîne de connexion, la `PWD` valeur with sera utilisée sauf si elle est vide.

  La valeur par défaut est `NONE`.
+ **`SessionToken`**— Le jeton de session temporaire requis pour accéder à une base de données avec l'authentification multifactorielle (MFA) activée. N'incluez pas de traînée ` = ` dans l'entrée.

  La valeur par défaut est `NONE`.

**Options d'authentification basées sur SAML pour Okta**
+ **`IdPHost`**— Le nom d'hôte de l'IdP spécifié.

  La valeur par défaut est `NONE`.
+ **`UID`**ou **`IdPUserName`**— Le nom d'utilisateur du compte IdP spécifié. Si `UID` les deux `IdPUserName` sont fournis dans la chaîne de connexion, la `UID` valeur sera utilisée sauf si elle est vide.

  La valeur par défaut est `NONE`.
+ **`PWD`**ou **`IdPPassword`**— Le mot de passe du compte IdP spécifié. Si `PWD` les deux `IdPPassword` sont fournis dans la chaîne de connexion, la `PWD` valeur sera utilisée sauf si elle est vide.

  La valeur par défaut est `NONE`.
+ **`OktaApplicationID`**— L'identifiant unique fourni par Okta associé à l' AWS IoT SiteWise application. L'identifiant de l'application (AppId) se trouve dans le `entityID` champ fourni dans les métadonnées de l'application. Voici un exemple :

  ```
  entityID="http://www.okta.com//(IdPAppID)
  ```

  La valeur par défaut est `NONE`.
+ **`RoleARN`**— Le nom de ressource Amazon (ARN) du rôle assumé par l'appelant.

  La valeur par défaut est `NONE`.
+ **`IdPARN`**— Le nom de ressource Amazon (ARN) du fournisseur SAML dans IAM qui décrit l'IdP.

  La valeur par défaut est `NONE`.

**Options d'authentification basées sur SAML pour Azure Active Directory**
+ **`UID`**ou **`IdPUserName`**— Le nom d'utilisateur du compte IdP spécifié.

  La valeur par défaut est `NONE`.
+ **`PWD`**ou **`IdPPassword`**— Le mot de passe du compte IdP spécifié.

  La valeur par défaut est `NONE`.
+ **`AADApplicationID`**— L'identifiant unique de l'application enregistrée sur Azure AD.

  La valeur par défaut est `NONE`.
+ **`AADClientSecret`**— Le secret client associé à l'application enregistrée sur Azure AD est utilisé pour autoriser l'extraction de jetons.

  La valeur par défaut est `NONE`.
+ **`AADTenant`**— L'identifiant du locataire Azure AD.

  La valeur par défaut est `NONE`.
+ **`RoleARN`**— Le nom de ressource Amazon (ARN) du rôle assumé par l'appelant.

  La valeur par défaut est `NONE`.
+ **`IdPARN`**— Le nom de ressource Amazon (ARN) du fournisseur SAML dans IAM qui décrit l'IdP.

  La valeur par défaut est `NONE`.

**AWS Options du SDK (avancées)**
+ **`RequestTimeout`**— Durée en millisecondes pendant laquelle le AWS SDK attend une demande de requête avant d'expirer. Toute valeur non positive désactive le délai d'expiration de la demande.

  La valeur par défaut est `3000`.
+ **`ConnectionTimeout`**— Durée en millisecondes pendant laquelle le AWS SDK attend que les données soient transférées via une connexion ouverte avant d'expirer. La valeur 0 désactive le délai d'expiration de la connexion. Cette valeur ne doit pas être négative.

  La valeur par défaut est `1000`.
+ **`MaxRetryCountClient`**— Le nombre maximal de tentatives pour les erreurs réessayables avec 5xx codes d'erreur dans le SDK. La valeur ne doit pas être négative.

  La valeur par défaut est `0`.
+ **`MaxConnections`**— Le nombre maximum de connexions HTTP ouvertes simultanément au AWS IoT SiteWise service. La valeur doit être positive.

  La valeur par défaut est `25`.

**Options de journalisation du pilote ODBC**
+ **`LogLevel`**— Le niveau de journalisation pour la journalisation du pilote. Doit être l'une des valeurs suivantes :
  + **0** (DÉSACTIVÉ).
  + **1** (ERREUR).
  + **2** (AVERTISSEMENT).
  + **3** (INFORMATIONS).
  + **4** (DÉBOGAGE).

  La valeur par défaut est `1` (ERROR).

  **Avertissement :** des informations personnelles peuvent être enregistrées par le pilote lors de l'utilisation du mode de journalisation DEBUG.
+ **`LogOutput`**— Dossier dans lequel enregistrer le fichier journal.

  La valeur par défaut est :
  + **Windows :**`%USERPROFILE%`, ou s'il n'est pas disponible,`%HOMEDRIVE%%HOMEPATH%`.
  + **macOS et Linux :** `$HOME` ou s'il n'est pas disponible, le champ `pw_dir` de la fonction `getpwuid(getuid())` renvoie la valeur.

**Options de journalisation du SDK**

Le niveau de journalisation du AWS SDK est distinct du niveau de journalisation du pilote AWS IoT SiteWise ODBC. Le réglage de l'un n'a aucune incidence sur l'autre.

Le niveau de journalisation du SDK est défini à l'aide de la variable `SW_AWS_LOG_LEVEL` d'environnement. Les valeurs valides sont :
+ `OFF`
+ `ERROR`
+ `WARN`
+ `INFO`
+ `DEBUG`
+ `TRACE`
+ `FATAL`

Si `SW_AWS_LOG_LEVEL` ce n'est pas le cas, le niveau de journalisation du SDK est défini sur la valeur par défaut, qui est`WARN`.

## Connexion via un proxy
<a name="query-ODBC-connecting-proxy"></a>

Le pilote ODBC prend en charge la connexion AWS IoT SiteWise via un proxy. Pour utiliser cette fonctionnalité, configurez les variables d'environnement suivantes en fonction des paramètres de votre proxy :
+ **`SW_PROXY_HOST`**— l'hôte proxy.
+ **`SW_PROXY_PORT`**— Le numéro de port du proxy.
+ **`SW_PROXY_SCHEME`**— Le schéma de proxy, `http` soit`https`.
+ **`SW_PROXY_USER`**— Le nom d'utilisateur pour l'authentification par proxy.
+ **`SW_PROXY_PASSWORD`**— Le mot de passe utilisateur pour l'authentification par proxy.
+ **`SW_PROXY_SSL_CERT_PATH`**— Le fichier de certificat SSL à utiliser pour se connecter à un proxy HTTPS.
+ **`SW_PROXY_SSL_CERT_TYPE`**— Type de certificat SSL du client proxy.
+ **`SW_PROXY_SSL_KEY_PATH`**— Le fichier de clé privée à utiliser pour se connecter à un proxy HTTPS.
+ **`SW_PROXY_SSL_KEY_TYPE`**— Type de fichier de clé privée utilisé pour se connecter à un proxy HTTPS.
+ **`SW_PROXY_SSL_KEY_PASSWORD`**— Phrase secrète du fichier de clé privée utilisé pour se connecter à un proxy HTTPS.

# Exemples de chaînes de connexion pour le AWS IoT SiteWise pilote ODBC
<a name="query-ODBC-connecting-examples"></a>

## Exemple de connexion au pilote ODBC avec des informations d'identification IAM
<a name="query-ODBC-connecting-examples-iam"></a>

```
Driver={AWS IoT SiteWise ODBC Driver};Auth=IAM;AccessKeyId=(your access key ID);SecretKey=(your secret key);SessionToken=(your session token);Region=us-east-1;
```

## Exemple de connexion au pilote ODBC avec un profil
<a name="query-ODBC-connecting-examples-profile"></a>

```
Driver={AWS IoT SiteWise ODBC Driver};ProfileName=(the profile name);region=us-east-1;
```

Le pilote tentera de se connecter en utilisant les informations d'identification fournies dans`~/.aws/credentials`, ou si un fichier est spécifié dans la variable d'environnement`AWS_SHARED_CREDENTIALS_FILE`, en utilisant les informations d'identification contenues dans ce fichier.

## Exemple de connexion au pilote ODBC avec Okta
<a name="query-ODBC-connecting-examples-okta"></a>

```
Driver={AWS IoT SiteWise ODBC Driver};Auth=OKTA;region=us-east-1;idPHost=(your host at Okta);idPUsername=(your user name);idPPassword=(your password);OktaApplicationID=(your Okta AppId);roleARN=(your role ARN);idPARN=(your Idp ARN);
```

## Exemple de connexion au pilote ODBC avec Azure Active Directory (AAD)
<a name="query-ODBC-connecting-examples-aad"></a>

```
Driver={AWS IoT SiteWise ODBC Driver};Auth=AAD;region=us-east-1;idPUsername=(your user name);idPPassword=(your password);aadApplicationID=(your AAD AppId);aadClientSecret=(your AAD client secret);aadTenant=(your AAD tenant);roleARN=(your role ARN);idPARN=(your idP ARN);
```

## Exemple de connexion au pilote ODBC avec un point de terminaison spécifié et un niveau de journalisation de 2 (AVERTISSEMENT)
<a name="query-ODBC-connecting-examples-okta"></a>

```
Driver={AWS IoT SiteWise ODBC Driver};Auth=IAM;AccessKeyId=(your access key ID);SecretKey=(your secret key);EndpointOverride=iotsitewise.us-east-1.amazonaws.com;Region=us-east-1;LogLevel=2;
```

# Résolution des problèmes de connexion avec le pilote ODBC
<a name="query-ODBC-connecting-troubleshooting"></a>

**Note**  
Si le nom d'utilisateur et le mot de passe sont déjà spécifiés dans le DSN, ne les spécifiez pas à nouveau lorsque le gestionnaire de pilotes ODBC les demande.

Un code d'erreur, `01S02` avec un message, `Re-writing (connection string option) (have you specified it several times?)` se produit lorsqu'une option de chaîne de connexion est passée plusieurs fois dans la chaîne de connexion. La spécification d'une option plusieurs fois génère une erreur. Lorsque vous établissez une connexion avec un DSN et une chaîne de connexion, si une option de connexion est déjà spécifiée dans le DSN, ne la spécifiez pas à nouveau dans la chaîne de connexion.