Excel連線openGauss資料庫實操

語言: CN / TW / HK

目錄

前言

一、通過excel 新增資料來源訪問openGauss

1、檢視Excel版本

2、下載 ODBC驅動

3、安裝ODBC驅動

4、新增ODBC資料來源

5、在excel中新增資料來源(訪問openGauss)

二、通過excel 的VBA(巨集)訪問openGauss

1、巨集許可權設定

2、新增“開發工具”

3、建立按鈕事件,訪問openGauss

4、附程式碼說明(Vba)

三、Excel 訪問openGauss資料庫 應用場景舉例


前言

網際網路是個快節奏的時代,不懂得運用工具,將時間浪費在瑣碎的事務中,將會極大的影響工作效率。 例如我們在工作中處理表格和資料時會經常用到Excel。基於此,本文將簡單介紹一下Excel 連線openGauss資料庫的兩種方式,歡迎交流。

通過excel 新增資料來源訪問openGauss

1、檢視Excel版本

開啟Excel程式, 檔案——賬戶——關於excel,如截圖。

2、下載 ODBC驅動

使用者可以在華為雲管理控制檯下載GaussDB(DWS) 提供ODBC驅動程式也可以使用開源的ODBC驅動程式

  1. 登入華為雲管理控制檯——在控制檯左邊列表,單機服務列表——大資料——資料倉庫服務GaussDB(DWS)
  2. 在左側導航欄中,單擊“連線管理”。

3在“下載驅動程式”區域,選擇一個驅動下載。

ODBC驅動:選擇相應的版本,然後單擊“下載”可以下載與叢集版本匹配的ODBC驅動。單擊“歷史版本”可根據作業系統和叢集版本下載相應版本的ODBC驅動,建議按叢集版本進行下載。

本次測試下載的是 “Microsoft Windows x86_64”驅動其支援在以下系統中使用:

  • Windows 7及以上。
  • Windows Server 2008及以上。

特別說明Windows驅動只支援32位版本,可以在32或64位作業系統使用,但是應用程式必須為32位。

3、安裝ODBC驅動

將下載的ODBC驅動解壓,選則32位的進行安裝。

 

安裝過程以管理員身份執行,然後一路點“Next”,直到 Finish 即可。

4、新增ODBC資料來源

依次開啟控制面板-管理工具-ODBC Data Sources (32-bit)

點選右邊的新增按鈕,找到 PostgreSQL Unicode,雙擊填寫連線資訊(如下截圖),點選Test

提示成功後,點選儲存Save)。

5、在excel中新增資料來源(訪問openGauss)

依次點選資料——其他來源——來自資料連線嚮導。

選擇“ODBC DSN”

選擇資料庫和表

點“完成”,進到匯入資料介面

 點“屬性” 按鈕,進入“使用狀況”選項卡,可設定資料重新整理的規則。

 進入“定義”選項卡,可進行編輯,獲取相應的資料:

通過excel 的VBA巨集)訪問openGauss

1、巨集許可權設定

開啟excel 程式, 進入檔案——選項——信任中心——信任中心設定:

  • 起啟用所有巨集
  • 信任對VBA工程物件模型的訪問

2、新增“開發工具”

開啟excel 程式, 進入檔案——選項——自定義功能區

選擇“開發工具” 打√。

3、建立按鈕事件,訪問openGauss

新增“連線openGauss” 按鈕,通過如下截圖過程進入巨集的編輯介面:

 

 編寫Vba指令碼,訪問openGauss資料庫:

4附程式碼說明(Vba)

Sub 連線openGauss()





Dim cn As Object    '定義資料鏈接物件 ,儲存連線資料庫資訊

Dim rs As Object    '定義記錄集物件,儲存資料表



Set cn = CreateObject("ADODB.Connection")  '建立資料鏈接物件

Set rs = CreateObject("ADODB.RecordSet")  '建立記錄集物件,用於接收資料查詢獲得的結果集



Dim strCn As String '字串變數

Dim strSQL As String '字串變數



strCn = "DSN=openGauss;DATABASE=postgres;SERVER=192.168.52.3;PORT=26000;UID=omm2;SSLmode=disable;ReadOnly=0"  '定義資料庫連結字串





strSQL = "SELECT id,name,age,address,salary FROM company1"    '設定SQL語句



cn.Open strCn '開啟連線



rs.Open strSQL, cn   '讀取資料庫中的資料



Dim i As Integer, sht As Worksheet   'i為整數變數;sht 為excel工作表物件變數,指向某一工作表



i = 1



Set sht = ThisWorkbook.Worksheets("Sheet2")



'迴圈讀取資料並將資料顯示到excel中



Do While Not rs.EOF     '當資料指標未移到記錄集末尾時,迴圈下列操作



    sht.Cells(i, 1) = rs("id")    '把當前記錄的欄位1的值儲存到sheet1工作表的第i行第1列



    sht.Cells(i, 2) = rs("name")    '把當前欄位2的值儲存到sheet1工作表的第i行第2列



    sht.Cells(i, 3) = rs("age")    '把當前欄位3的值儲存到sheet1工作表的第i行第3列

    

    sht.Cells(i, 4) = rs("address")    '把當前欄位4的值儲存到sheet1工作表的第i行第4列

    

    sht.Cells(i, 5) = rs("salary")    '把當前欄位5的值儲存到sheet1工作表的第i行第5列



    rs.MoveNext                      '把指標移向下一條記錄



    i = i + 1                        'i加1,準備把下一記錄相關欄位的值儲存到工作表的下一行



Loop                                 '迴圈



rs.Close   '關閉記錄集,至此,程式將把某資料表的欄位1和欄位2儲存在excel工作表sheet1的第1、2列,行數等於資料表的記錄數









End Sub

Excel 訪問openGauss資料庫 應用場景舉例

1、實現自動化實時監控相關資料,例如:跑批作業狀態表、某項實時資料閾值監測等。

2、實現自動化業務報表展示等。

openGauss: 一款高效能、高安全、高可靠的企業級開源關係型資料庫。