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: 一款高性能、高安全、高可靠的企業級開源關係型數據庫。