

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# ODBC 驅動程式的連線字串語法和選項
<a name="query-ODBC-connecting"></a>

指定 ODBC 驅動程式連線字串選項的語法如下：

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

可用選項如下：

**驅動程式連線選項**
+ **`Driver`**   *（必要）*   –   與 ODBC 搭配使用的驅動程式。

  預設為 AWS IoT SiteWise。
+ **`DSN`**   –   用於設定連線的資料來源名稱 (DSN)。

  預設值為 `NONE`。
+ **`Auth`**   –   身分驗證模式。這必須是下列其中一項：
  + `AWS_PROFILE` – 使用預設登入資料鏈。
  + `IAM` – 使用 AWS IAM 登入資料。
  + `AAD` – 使用 Azure Active Directory (AD) 身分提供者。
  + `OKTA` – 使用 Okta 身分提供者。

  預設值為 `AWS_PROFILE`。

**端點組態選項**
+ **`EndpointOverride`**   –   AWS IoT SiteWise 服務的端點覆寫。這是覆寫區域的進階選項。例如：

  ```
  iotsitewise.us-east-1.amazonaws.com
  ```
+ **`Region`**   –   AWS IoT SiteWise 服務端點的簽署區域。

  預設值為 `us-east-1`。

**登入資料提供者選項**
+ **`ProfileName`**   –   AWS 組態檔案中的設定檔名稱。

  預設值為 `NONE`。

**AWS IAM 身分驗證選項**
+ **`UID`** 或 **`AccessKeyId`**   –   AWS 使用者存取金鑰 ID。如果連線字串中同時提供 `AccessKeyId` `UID`和 ，除非值為空白，否則將使用 `UID`值。

  預設值為 `NONE`。
+ **`PWD`** 或 **`SecretKey`**   – AWS   使用者私密存取金鑰。如果連線字串中同時提供 `SecretKey` `PWD`和 ，除非值為空白，否則將使用 搭配 `PWD`的值。

  預設值為 `NONE`。
+ **`SessionToken`**   –   存取已啟用多重要素驗證 (MFA) 的資料庫所需的臨時工作階段字符。請勿在輸入` = `中包含結尾。

  預設值為 `NONE`。

**Okta 的 SAML 型身分驗證選項**
+ **`IdPHost`**   –   指定 IdP 的主機名稱。

  預設值為 `NONE`。
+ **`UID`** 或 **`IdPUserName`**   –   指定 IdP 帳戶的使用者名稱。如果連線字串中同時提供 `IdPUserName` `UID`和 ，除非值為空白，否則將使用 `UID`值。

  預設值為 `NONE`。
+ **`PWD`** 或 **`IdPPassword`**   –   指定 IdP 帳戶的密碼。如果連線字串中同時提供 `IdPPassword` `PWD`和 ，除非值為空白，否則將使用 `PWD`值。

  預設值為 `NONE`。
+ **`OktaApplicationID`**   –   與 AWS IoT SiteWise 應用程式相關聯的唯一 Okta 提供的 ID。尋找應用程式 ID (AppId) 的位置位於應用程式中繼資料中提供的`entityID`欄位中。例如：

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

  預設值為 `NONE`。
+ **`RoleARN`**   –   發起人所擔任角色的 Amazon Resource Name (ARN)。

  預設值為 `NONE`。
+ **`IdPARN`**   –   IAM 中描述 IdP 之 SAML 提供者的 Amazon Resource Name (ARN)。

  預設值為 `NONE`。

**Azure Active Directory 的 SAML 型身分驗證選項**
+ **`UID`** 或 **`IdPUserName`**   –   指定 IdP 帳戶的使用者名稱。

  預設值為 `NONE`。
+ **`PWD`** 或 **`IdPPassword`**   –   指定 IdP 帳戶的密碼。

  預設值為 `NONE`。
+ **`AADApplicationID`**   – Azure AD   上已註冊應用程式的唯一 ID。

  預設值為 `NONE`。
+ **`AADClientSecret`**   –   與 Azure AD 上已註冊應用程式相關聯的用戶端秘密，用於授權擷取字符。

  預設值為 `NONE`。
+ **`AADTenant`**   –   Azure AD 租用戶 ID。

  預設值為 `NONE`。
+ **`RoleARN`**   –   發起人所擔任角色的 Amazon Resource Name (ARN)。

  預設值為 `NONE`。
+ **`IdPARN`**   –   IAM 中描述 IdP 之 SAML 提供者的 Amazon Resource Name (ARN)。

  預設值為 `NONE`。

**AWS SDK （進階） 選項**
+ **`RequestTimeout`**   –   SDK 在逾時之前 AWS 等待查詢請求的時間，以毫秒為單位。任何非正值都會停用請求逾時。

  預設值為 `3000`。
+ **`ConnectionTimeout`**   –   SDK 在逾時之前 AWS 等待透過開放連線傳輸資料的時間，以毫秒為單位。值為 0 會停用連線逾時。此值不得為負數。

  預設值為 `1000`。
+ **`MaxRetryCountClient`**   –   SDK 中具有 5xx 錯誤代碼的可重試錯誤重試嘗試次數上限。值不得為負。

  預設值為 `0`。
+ **`MaxConnections`**   –   允許同時開啟 AWS IoT SiteWise 服務 HTTP 連線的數量上限。值必須為正值。

  預設值為 `25`。

**ODBC 驅動程式記錄選項**
+ **`LogLevel`**   –   驅動程式記錄的日誌層級。必須是下列其中一個：
  + **0**  (OFF)。
  + **1**  (ERROR)。
  + **2**  （警告）。
  + **3**  (INFO)。
  + **4**  (DEBUG)。

  預設值為 `1`(ERROR)。

  **警告：**使用 DEBUG 記錄模式時，驅動程式可以記錄個人資訊。
+ **`LogOutput`**   – 要存放日誌檔案的 資料夾。

  預設值為：
  + **Windows：**`%USERPROFILE%`，如果無法使用，則為 `%HOMEDRIVE%%HOMEPATH%`。
  + **macOS 和 Linux：**`$HOME`，如果無法使用，則為函數`getpwuid(getuid())`傳回值`pw_dir`中的 欄位。

**SDK 記錄選項**

 AWS SDK 日誌層級與 AWS IoT SiteWise ODBC 驅動程式日誌層級不同。設定一個不會影響另一個。

使用環境變數 設定 SDK 日誌層級`SW_AWS_LOG_LEVEL`。有效的值如下：
+ `OFF`
+ `ERROR`
+ `WARN`
+ `INFO`
+ `DEBUG`
+ `TRACE`
+ `FATAL`

如果`SW_AWS_LOG_LEVEL`未設定 ，軟體開發套件日誌層級會設定為預設值，即 `WARN`。

## 透過代理連線
<a name="query-ODBC-connecting-proxy"></a>

ODBC 驅動程式支援 AWS IoT SiteWise 透過代理連線至 。若要使用此功能，請根據您的代理設定設定下列環境變數：
+ **`SW_PROXY_HOST`**   –   代理主機。
+ **`SW_PROXY_PORT`**   –   代理連接埠號碼。
+ **`SW_PROXY_SCHEME`**   –   代理結構描述， `http`或 `https`。
+ **`SW_PROXY_USER`**   –   代理身分驗證的使用者名稱。
+ **`SW_PROXY_PASSWORD`**   –   代理身分驗證的使用者密碼。
+ **`SW_PROXY_SSL_CERT_PATH`**   –   用於連線至 HTTPS 代理的 SSL 憑證檔案。
+ **`SW_PROXY_SSL_CERT_TYPE`**   –   代理用戶端 SSL 憑證的類型。
+ **`SW_PROXY_SSL_KEY_PATH`**   –   用於連線至 HTTPS 代理的私有金鑰檔案。
+ **`SW_PROXY_SSL_KEY_TYPE`**   –   用來連線至 HTTPS 代理的私有金鑰檔案類型。
+ **`SW_PROXY_SSL_KEY_PASSWORD`**   –   用於連線至 HTTPS 代理的私有金鑰檔案的密碼短語。