管理資料來源連線

您可以建立、更新、移除及共用資料來源連線。具備「DV 內容作者」存取權的 Oracle Analytics 使用者可執行這些動作。

主題:

建立資料來源連線

您可以建立連線以便分析資料來源中的資料。

  1. 首頁上,按一下建立,然後按一下連線
  2. 選取連線類型對話方塊中,按一下您所需的連線類型圖示。例如,Oracle Database
  3. 輸入必要的連線資訊,例如主機、連接埠、使用者名稱、密碼和服務名稱。
  4. 選擇性的: 為連線選取一個認證選項。
    • 一律使用這些證明資料 - Oracle Analytics 一律使用您為連線提供的登入名稱和密碼。不會提示使用者進行登入。
    • 使用者必須輸入自己的證明資料 - Oracle Analytics 會提示使用者對資料來源輸入自己的使用者名稱和密碼。使用者只能存取其許可權、權限及指定角色所允許存取的資料。
    • (Oracle Analytics 若對此資料庫類型提供模擬支援便會顯示) 使用有效使用者的證明資料 - Oracle Analytics 不會提示使用者進行登入以存取資料。存取此資料來源所用的證明資料與登入 Oracle Analytics 時所使用的證明資料相同。
  5. 若是連線至遠端資料庫,請按一下使用遠端資料連線
    向管理員確認您可以存取遠端資料庫。
  6. 若要在「語意模型產生器」或「模型管理工具」中使用這些連線詳細資訊,請按一下系統連線。請參閱資料庫連線選項
  7. 按一下儲存
    您現在可以使用此連線開始建立工作簿或資料集。例如,在首頁依序按一下建立資料集,然後選取您剛剛建立的連線。

編輯資料來源連線

您可以更新資料來源的連線詳細資訊。

如果您要編輯與 Oracle Database 的 SSL 連線,而需要使用新的 cwallet.sso 檔案,請在從屬端公事包欄位中,按一下選取來瀏覽 cwallet.sso 檔案。請向您的管理員詢問 cwallet.sso 檔案的位置。

  1. 按一下首頁的「導覽器」,選取資料並按一下連線
  2. 將游標停駐在想要編輯的連線上。在標示的連線右方,按一下動作,然後選取檢查
  3. 檢查對話方塊中,編輯連線詳細資訊。
    您無法見到連線目前的密碼或邏輯 SQL。如果您需要進行變更,請建立新連線。
  4. 按一下儲存

刪除資料來源連線

您可以從 Oracle Analytics Cloud 移除資料來源連線。例如,您必須在資料庫密碼變更時,刪除資料庫連線並建立新連線。

如果連線包含任何資料集,您必須先刪除資料集,才能刪除連線。

  1. 前往資料頁面,然後選取連線
  2. 將游標停駐在想要刪除的連線上。在標示的連線右方,按一下動作,然後選取刪除
  3. 按一下

共用資料來源連線

您可以對您建立或管理的資料來源連線指定存取許可權。

  1. 首頁上,按一下導覽器。按一下資料,再按一下連線
  2. 將滑鼠游標停駐在要共用的連線上,按一下動作,然後選取檢查
  3. 按一下存取權,然後使用頁籤來授予存取權:
    • 全部 - 與個別使用者或角色共用連線。

    • 使用者 - 與個別使用者共用連線。

    • 角色 - 與應用程式角色共用連線 (例如 BI 用戶),讓具備這些角色的所有使用者都可以使用連線。

  4. 使用新增方塊搜尋並選取使用者或角色。
    下方會顯示使用者或角色清單,預設權限皆為唯讀
  5. 若要變更預設權限,請選取下列其中一項:
    • 完全控制 - 使用者或角色可以使用連線建立資料集,並且能修改、重新命名或刪除連線。他們還可以變更連線的權限。
    • 讀寫 - 使用者或角色可以使用連線建立資料集,並且能修改或重新命名連線 (但不能刪除連線)。
    • 唯讀 - 使用者或角色可以使用連線建立資料集,但不能變更連線詳細資訊。
  6. 按一下儲存
使用者下次登入時,他們可以使用您已共用至視覺化資料的資料庫連線。

資料庫連線選項

使用「建立連線」或「檢查」對話方塊指定連線詳細資訊時,有些資料庫類型會有額外的組態選項。

一般選項

  • 建立 Oracle Database 連線時,您可以使用連線類型選項透過兩種方式連線:
    • 基本 - 指定資料庫的主機連接埠服務名稱
    • 進階 - 在連線字串欄位中,指定在 RAC 叢集中執行之資料庫的單一從屬端存取名稱 (SCAN) ID。例如:

      sales.example.com =(DESCRIPTION= (ADDRESS_LIST= (LOAD_BALANCE=on)(FAILOVER=ON) (ADDRESS=(PROTOCOL=tcp)(HOST=123.45.67.111)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=123.45.67.222)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=123.45.67.333)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME= salesservice.example.com)))

  • 啟用大量複製 - 若是載入工作簿的資料集,必須將此選項關閉,因此您可以忽略此選項。此選項是保留供資料分析人員和進階使用者在兩個資料庫之間複製資料時使用。

認證選項

  • 一律使用這些證明資料 - Oracle Analytics 一律使用您為連線提供的登入名稱和密碼。不會提示使用者進行登入。
  • 使用者必須輸入自己的證明資料 - Oracle Analytics 會提示使用者對資料來源輸入自己的使用者名稱和密碼。使用者只能存取其許可權、權限及指定角色所允許存取的資料。
  • (Oracle Analytics 若對此資料庫類型提供模擬支援便會顯示) 使用有效使用者的證明資料 - Oracle Analytics 不會提示使用者進行登入以存取資料。存取此資料來源所用的證明資料與登入 Oracle Analytics 時所使用的證明資料相同。

系統連線

如果您想要在「語意模型產生器」或「模型管理工具」中使用這些連線詳細資訊,請選取系統連線

  • 如果您使用「語意模型產生器」建立資料模型,選擇此選項會啟用「語意模型產生器」以連線至資料來源。若要瞭解語意模型產生器支援哪些資料庫,請在支援的資料來源清單中尋找「在語意模型產生器中使用」資料欄為「是」的項目。請參閱支援的資料來源
  • 如果您使用「模型管理工具」建立資料模型,可將 Oracle Analytics Cloud 的連線詳細資訊複製到模型管理工具以連線到部分資料來源。若要瞭解哪些資料來源支援此功能,請在支援的資料來源的「在模型管理工具中使用」的連線選項中尋找「系統連線」。按一下複製以複製連線的物件 ID。業務模型建立者可將其貼至物件 ID,以在模型管理工具 (「連線集區」對話方塊) 識別並使用資料連線。

按一下複製以複製連線的物件 ID。業務模型建立者可將其貼至物件 ID,以在模型管理工具 (「連線集區」對話方塊) 識別並使用資料連線。

注意:若最初建立連線時未按一下系統連線,如果您之後希望資料模型建立者使用該連線詳細資訊,就必須建立新的連線並選取系統連線。也就是說,您之後無法編輯連線並選取此選項。

資料庫連線限制

建立資料庫連線前,請先瞭解資料庫連線需求。

在 Oracle Analytics 中顯示的資料庫表格數目上限為 10,000。如果您需要額外表格,Oracle 建議您洽詢資料庫管理員,以建立可存取您要分析之特定物件的資料庫使用者,並在建立資料庫連線時,指定該使用者的證明資料。

連線至使用大寫、小寫或混合大小寫字元的資料

如果是連線至 Oracle Database、Oracle Autonomous Data Warehouse、Oracle Transaction Processing、Snowflake、SQL Server 或 My SQL,您可以變更預設的引號識別碼,以便讀取表格或資料欄名稱中,使用大寫、小寫或混合大小寫字元的資料。

例如,您可以選擇雙引號作為引號識別碼。Oracle Analytics 接著會對相關 SQL 敘述句加上雙引號,如 select "EfG_Field" from "AbCd"; ,而不是發出 select EfG_Field from AbCd; (這會導致失敗)。
  1. 首頁上,按一下建立,然後按一下連線
  2. 按一下其中一個支援進階特性的資料庫類型。
    支援的資料庫包括 Oracle、Oracle Autonomous Data Warehouse、Snowflake 以及 My SQL。
  3. 指定連線詳細資訊,然後儲存連線。
  4. 在首頁按一下導覽器,然後依序按一下資料連線
  5. 將滑鼠游標停駐在您於步驟 2 儲存的連線上方,然後依序按一下動作檢查
  6. 按一下進階,然後使用「引號識別碼」選項選取資料庫中使用的引號識別碼。

    例如,您可以選取雙引號 (" ")。Oracle Analytics 會將雙引號新增至相關 SQL 敘述句 select "EfG_Field" from "AbCd";,而不是發出 select EfG_Field from AbCd;

    註:

    如果建立連線時選取了系統連線選項,便不會看到進階選項。系統連線不支援進階選項。
  7. 按一下儲存

使用 REST API 管理連線

您可以使用 Oracle Analytics Cloud REST API 以程式設計的方式管理各種資料來源的連線。例如,您可能想要建立一個命令檔,以便同時在測試和生產 Oracle Analytics Cloud 環境建立 (或修改) 同一組連線。

關於連線 REST API

您可以使用 REST API 建立、更新和刪除各種資料來源連線。本主題列出可以使用 REST API 管理的資料來源連線類型。

註:

Oracle Analytics Cloud REST API 提供每個 REST API 的詳細資訊。請參閱 Connection REST Endpoints

支援的資料來源

  • Oracle Database
  • Oracle Autonomous Data Warehouse
  • Oracle Essbase
  • MySQL
  • PostgreSQL
  • Snowflake
  • SQL Server
  • Vertica

連線參數

每個資料來源需要的連線參數不同。若您要使用 REST API 建立或更新連線,必須瞭解資料來源所需的 JSON 有效負載格式。請參閱資料來源的範例 JSON 有效負載

使用 REST API 管理連線的一般工作流程

下列是開始使用 Oracle Analytics Cloud REST API 以程式設計方式管理連線的一般作業。如果您是第一次使用 REST API,請依照下列作業進行。

作業 描述 REST API 文件
瞭解先決條件

瞭解並完成多個先決條件作業。

您必須具有建立工作簿和連線至 Oracle Analytics Cloud 資料的許可權,才能使用 REST API 管理資料連線 (DV 內容作者)。

先決條件
瞭解 OAuth 2.0 權杖認證 Oracle Analytics Cloud 的認證和授權由 Oracle Identity Cloud Service 管理。若要存取 Oracle Analytics Cloud REST API,您需要使用 OAuth 2.0 存取權杖獲得授權。 OAuth 2.0 Token Authentication
瞭解支援的資料來源 閱讀相關主題以瞭解可以使用 REST API 管理的資料連線類型。 支援的資料來源
決定 JSON 有效負載格式 閱讀相關主題以瞭解資料來源適用的 JSON 有效負載格式,並取得所需的連線參數。 資料來源的範例 JSON 有效負載
建立連線 建立資料連線以用於工作簿、報表和儀表板。 Create a connection (預覽版)
更新連線 更新現有資料連線的一或多個特性。 Update a connection (預覽版)
刪除連線 刪除資料連線。 Delete a connection (預覽版)

如何使用 REST API 管理資料來源連線

請使用以下範例瞭解如何使用 cURL 管理 REST API 要求的資料來源連線。

範例 cURL 格式

使用下列 cURL 命令格式,透過 REST API 建立或更新資料來源連線:
  • 簡單 JSON
    curl 
    --header "Authorization: Bearer <token>" 
    --header "Content-Type: application/json" 
    --request POST|PUT https://<hostname>/api/20210901/catalog/connections
    --data "<data source connection payload>"
  • 多重部分/表單資料
    curl 
    --header "Authorization: Bearer <token>" 
    --request POST|PUT https://<hostname>/api/20210901/catalog/connections
    --form "cert=<security wallet file>"
    --form "connectionParams=<data source connection payload>"
其中:
  • <token> - 認證 Oracle Analytics Cloud REST API 呼叫所需的 OAuth 2.0 Bearer 權杖。請參閱 OAuth 2.0 Token Authentication

  • <hostname> - 執行 Oracle Analytics Cloud 的主機。

  • <data source connection payload> - 資料來源特定連線資訊。請參閱資料來源的範例 JSON 有效負載

  • <security wallet file> - 儲存 SSL 相關資訊,例如認證和簽署證明資料、私密金鑰、憑證和信任憑證。某些連線類型需要此項目,例如使用 SSL 的 Oracle Database 和 Oracle Autonomous Data Warehouse (雙向 TLS)。

範例

下列範例說明如何建立與 Oracle Autonomous Data Warehouse (ADW) 的連線。

  • 範例 1 - 建立與 Oracle ADW 的無公事包 (TLS) 連線
  • 範例 2 - 使用證明資料公事包檔案 cwallet.sso (雙向 TLS) 建立與 Oracle ADW 的連線

如需其他範例,請參閱 Oracle Analytics Cloud REST API。請參閱 Create a connection (預覽版)Update a connection (預覽版)Delete a connection (預覽版)

註:

這些範例中的 JSON 有效負載僅適用於 Oracle ADW。其他資料來源使用不同的 JSON 有效負載格式。請參閱受支援資料來源的範例 JSON 有效負載

範例 1 建立與 Oracle ADW 的無公事包 (TLS) 連線

在此範例中,您要建立名為 oracle_adw_walletless 的連線。要求主體包含簡單 JSON application/json
curl 
  --header "Authorization: Bearer <token>"
  --header "Content-Type: application/json" 
  --request POST https://example.com/api/20210901/catalog/connections 
  --data "{
     "version": "2.0.0",
     "type": "connection",
     "name": "oracle_adw_walletless",
     "description": "Sample Oracle ADW connection without a wallet created using Connections API",
     "content": {    
       "connectionParams": {
           "connectionType": "oracle-autonomous-data-warehouse",
           "connectionString": "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=abcdefg1hijkl2m_adwwalletless_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))",
           "username": "ADMIN",
           "password": "<<password>>",
           "systemConnection": false,        
           "remoteData": false,
           "sslType": "ServerSideSSL"
       }
     }
   }"

回應主體

{"connectionID":"J0FkbWluJy4nb3JhY2xlX2Fkd193YWxsZXRsZXNzJw=="}

記下回應主題中 base64 編碼的 connectionId。之後,您可以使用這個值更新或刪除連線。

範例 2 使用公事包檔案 (雙向 TLS) 建立與 Oracle ADW 的連線

在此範例中,您要建立名為 oracle_adw_with_wallet 的連線。要求主體包含 multipart/form-data,也就是同時需要 Oracle ADW (cwallet.sso) 公事包檔案和 Oracle ADW 連線參數。
curl
 --header "Authorization: Bearer <token>"
 -–request POST https://<hostname>/api/20210901/catalog/connections 
 --form "cert=@"/Users/scott/Downloads/Wallet_adw/cwallet.sso"" 
 --form "connectionParams= "{
    "version": "2.0.0",
    "type": "connection",
    "name": "oracle_adw_with_wallet",
    "description": "Sample Oracle ADW connection with a wallet created using Connections API",   
    "content": {
      "connectionParams": {
        "connectionType": "oracle-autonomous-data-warehouse",
        "connectionString": "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps) (port=1522)(host=adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=abcdefg1hijkl2m_walletadw_high.adwc.oraclecloud.com/))(security=(ssl_server_dn_match=yes)))",
        "username": "ADMIN",
        "password": "<<password>>",
        "remoteData": "false",   
        "systemConnection": false,
        "sslType": "ClientSideSSL"    
       }
      }
    }"

回應主體

{"connectionID":"J2FkbWluJy4nb3JhY2xlX2Fkd193aXRoX3dhbGxldCc="}

記下回應主題中 base64 編碼的 connectionId。之後,您可以使用這個值更新或刪除連線。

資料來源的範例 JSON 有效負載

若要連線至資料來源,請提供連線參數。使用連線 REST API 時,請指定 JSON 有效負載格式的連線參數。使用此表格判斷您要連線之資料來源的 JSON 有效負載。

資料來源 要求類型 輸入有效負載

Oracle Database

(非 SSL)

應用程式/json

基本連線類型

{ 
 "version": "2.0.0", 
 "type": "connection",  
 "name": "oracle_db_non_ssl_basic",
 "description": "Sample non-SSL Oracle Database connection created using Connections API",
 "content": {
   "connectionParams": {
     "connectionType": "oracle-database",
     "host": "example.com",
     "port": "1521",
     "serviceName": "orcl",
     "username": "admin",
     "password": "<password>",
     "remoteData": false,
     "systemConnection": false
   }
  }
 }

進階連線類型

{
  "version": "2.0.0",
  "type": "connection",
  "name": "oracle_db_non_ssl_advanced ",
  "description": " Sample non-SSL Oracle Database connection created with the advanced connection string format using Connections API",
  "content": {
    "connectionParams": {
     "connectionString": "(DESCRIPTION= (ADDRESS_LIST= (LOAD_BALANCE=on)(FAILOVER=ON) (ADDRESS=(PROTOCOL=tcp)(HOST=example.com)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME=ORCLPDB1)))",
     "username": "admin",
     "password": "<password>",
     "connectionType": "oracle-database",
     "remoteData": false,
     "systemConnection": false
    }
  }
}

Oracle Database (使用 SSL)

多重部分/表單資料
cwallet.sso (client credentials file)

基本連線類型

cert: <cwallet.sso file location>
connectionParams: {
 "version": "2.0.0",
 "type": "connection",
 "name": "oracle_db_ssl",
 "description": "Sample Oracle Database connection with SSL created using Connections API",
 "content": {
   "connectionParams": {
     "connectionType": "oracle-database",
     "host": "example.com",
     "port": "2484",
     "serviceName": "ORCLPDB1",
     "username": "admin",
     "password": "<password>",
     "systemConnection": false,
     "remoteData": false
   }
  }
}

Oracle Autonomous Data Warehouse - 無公事包 (TLS)

應用程式/json

基本連線類型

{
 "version": "2.0.0",
 "type": "connection",
 "name": "oracle_adw_walletless_basic",
 "description": "Sample Oracle ADW connection without a wallet created using Connections API",
 "content": {
   "connectionParams": { "connectionType": "oracle-autonomous-data-warehouse",
     "connectionString": "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521) (host=example.com)) (connect_data=(service_name=example.com)) (security=(ssl_server_dn_match=yes)))",
     "username": "admin",
     "password": "<password>",
     "systemConnection": false,
     "remoteData": false,
     "sslType": "ServerSideSSL"
     }
   }
 }

Oracle Autonomous Data Warehouse - 公事包 (雙向 TLS)

多重部分/表單資料
cwallet.sso (client credentials file)

基本連線類型

cert: <cwallet.sso file location>

connectionParams: {
 "version": "2.0.0",
 "type": "connection",
 "name": "oracle_adw_with_wallet",
 "description": "Sample Oracle ADW connection with wallet created using Connections API",
 "content": {
   "connectionParams": {
     "connectionType": "oracle-autonomous-data-warehouse",
     "connectionString": "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)
                        (port=1522)(host=example.com))
                        (connect_data=(service_name=example.com))
                        (security=(ssl_server_dn_match=yes)))",
     "username": "admin",
     "password": "<password>",
     "remoteData": "false",
     "systemConnection": false,
     "sslType": "ClientSideSSL"
    }
  }
 }

PostgreSQL

(非 SSL)

應用程式/json

基本連線類型

{
 "version":"2.0.0",
 "type": "connection",
 "name": "postgres_non_SSL",
 "description": "Sample PostgreSQL connection created using Connections API",
 "content": {
   "connectionParams": {
     "connectionType": "postgresql-database",
     "host": "example.com",
     "port": "5432",
     "serviceName": "postgres",
     "username": "admin",
     "password": "<password>",
     "remoteData": false,
     "systemConnection": false 
    }
  }
}

PostgreSQL (使用SSL)

應用程式/json

基本連線類型

{
 "version":"2.0.0",
 "type": "connection",
 "name": "postgres_SSL_Conn",
 "description": "Sample PostgreSQL connection with SSL created using Connections API",
 "content": {
   "connectionParams": {
     "connectionType": "postgresql-database",
     "host": "example.com",
     "port": "5432",
     "serviceName": "postgres",
     "username": "admin",
     "password": "<password>",
     "sslType":"ServerSideSSL",
     "remoteData": false,
     "systemConnection": false
    }
  }
}

SQL Server

(非 SSL)

應用程式/json

基本連線類型

{
 "version":"2.0.0",
 "type": "connection",
 "name": "SqlServer_non_ssl",
 "description": "Sample non-SSL SQL Server connection created using Connections API",
 "content": {
   "connectionParams": {
     "connectionType": "sqlserver-database",
     "host": "example.com",
     "port": "1400",
     "serviceName": "sqlserver1",
     "username": "admin",
     "password": "<password>",
     "remoteData": false,
     "systemConnection": false
    }
  }
}
SQL Server (使用 SSL) 應用程式/json

基本連線類型

{
 "version":"2.0.0",
 "type": "connection",
 "name": "SqlServer_ssl",
 "description": "Sample SQL Server connection with SSL created using the Connections API",
 "content": {
   "connectionParams": {
     "connectionType": "sqlserver-database",
     "host": "example.com",
     "port": "60190",
     "serviceName": "sqlserver1",
     "username": "admin",
     "password": "<password>",
     "sslType":"ServerSideSSL",
     "remoteData": false,
     "systemConnection": false
    }
  }
}

MySQL

(非 SSL)

應用程式/json

基本連線類型

{
 "version":"2.0.0",
 "type": "connection",
 "name": "MySql_no_SSL",
 "description": "Sample MySQL connection created using the Connections API",
 "content": {
   "connectionParams": {
     "connectionType": "mysql-database",
     "host": "example.com",
     "port": "3307",
     "serviceName": "mysql1",
     "username": "admin",
     "password": "<password>",
     "remoteData": false,
     "systemConnection": false
    }
 }
}
MySQL (使用 SSL) 應用程式/json

基本連線類型

{
 "version":"2.0.0",
 "type": "connection",
 "name": "MySql_ssl",
 "description": "Sample MySQL connection with SSL created using Connections API",
 "content": {
   "connectionParams": {
     "connectionType": "mysql-database",
     "host": "example.com",
     "port": "3306",
     "serviceName": "mysql1",
     "username": "admin",
     "password": "<password>",
     "sslType":"ServerSideSSL",
     "remoteData": false,
     "systemConnection": false
    }
  }
}

Oracle Essbase

應用程式/json

基本連線類型

{
 "version":"2.0.0",
 "type": "connection",
 "name": "Oracle_Essbase",
 "description": "Sample Oracle Essbase connection created using Connections API",
 "content": {
   "connectionParams": {
     "connectionType": "oracle-essbase",
     "dsn":"example.com",
     "username":"admin",
     "password":"<password>",
     "remoteData": false,
     "systemConnection": false,
     "authentication":"current"/"private"/"sso"
    }
  }
}