2021年6月18日 星期五

Horizon View:如何查詢 PostgreSQL Type 的 Event DB

延續上一篇 Horizon View:Horizon8 (2103) Event DB 使用 PostgreSQL,當 Event DB 更換成 PostgreSQL,緊接著會面臨到的問題就是...該怎麼查詢 DB?。本文將說明如何透過 Microsoft SQL Server Management Studio (SSMS) 查詢 PostgreSQL Event DB

Prerequisite

  • 需要找一台安裝有 SQL Server (可以是SQL Express) 的電腦,並且安裝 PostgreSQL ODBC Driver (PostgreSQL官方下載連結)
  • 這台電腦需要安裝 .Net Framework 4.5 以上的版本
  • PostgreSQL 是透過 pg_hba.conf 來控制誰可以來存取,確認這台機器的 IP 可以存取 DB

設定 ODBC Driver for PostgreSQL

安裝完 ODBC Driver for Postgres 之後,開始設定資料來源,設定時選擇 ODBC(32-bit) 或是 ODBC(64-bit) 取決於 SSMS 安裝的作業系統平台是 32 or 64 bit,通常應該是選擇 ODBC(64-bit)。

開啟 ODBC(64-bit),新增「系統資料來源」,選擇 PostgreSQL Unicode(x64)

設定 PostgreSQL 連線資訊,設定完成後確認連線測試成功
設定完成後的畫面

設定 SQL Server Linked Server 連結 PostgreSQL

Linked Server 簡單來說就是用來查詢非 MS SQL 資料庫的工具。首先在安裝有 SQL Server 的電腦執行 SSMS 並且登入
  • 展開 Server Object → Linked Servers 點選右鍵 → 新增
  • 設定 Linked server 名稱;Server Type 選擇 Other data source;Provider 選擇 Microsoft OLE DB Provider for ODBC Drivers;Data source 輸入設定 ODBC DSN 所設定的名稱
  • 接著,在 Security 的設定畫面,設定 remote login PostgreSQL 的帳號 & 密碼
  • 設定完成後,就可以看到新增的 Linked Server,下拉展開可以看到 Event DB 的 Tables

使用 SSMS 查詢 Event DB

  • 使用 SQL 語法查詢
  • 使用 Openquery 語法查詢
  • 使用 Exec 語法查詢

參考資料

2 則留言:

  1. 你好,想請問一下,關於現在7.13及8的版本,full clone 及 instant clone可以對一個desktop pool中的某一個vm做更換母版及更換快照嗎?

    回覆刪除
    回覆
    1. 我的了解是沒辦法的。有什麼情境是會需要針對某一個vm做更換母版或快照?

      刪除