GaussDB T 強體驗:透過 DBeaver/RazorSQL/DbVisualizer工具連線資料庫(附測試賬號)

資料和雲發表於2020-01-03

導讀: 工欲善其事,必先利其器。很多讀者問,如何連線 GaussDB T(原 GaussDB 100)呢?在安裝了 GaussDB T 之後,本文分別透過 DBeaver工具、RazorSQL圖形化工具、 DbVisualizer圖形化工具和資料庫建立了連線,供大家參考學習,歡迎在評論區討論。另:墨天輪組建了一個GaussDB學習的扣扣群(640663596),會分享 GaussDB T 的測試賬號,供大家直接上手 GaussDB T資料庫,揭開面紗。



一、 透過 DBeaver 和 GaussDB T 資料庫無縫互動



DBeaver 是一款通用的SQL客戶端和資料庫管理工具。 對於關聯式資料庫,它使用JDBC API透過JDBC驅動程式與資料庫互動。 dbeaver 提供了一個編輯器,支援程式碼完成和語法突顯,同時透過提供外掛體系結構,允許使用者修改應用程式的大部分行為,以提供與資料庫無關的針對資料庫的功能或特性。


DBeaver 的社群版功能就極為豐富和強大。

安裝了 DBeaver 之後,透過 “Driver Manager” 新建驅動,在以下頁面新增 GaussDB 的驅動,驅動來自 GaussDB T提供的介質,解壓後可以找到 JDBC 驅動 jar 檔案:

新增了驅動檔案之後,『Find Class』,在下拉選擇 ZenithDriver 之後, 『Class Name』位置,會自動填寫 GaussDB 的驅動名稱。

接下來,在 URL Template 位置填寫你的資料庫地址和埠資訊(前提是,伺服器開啟了遠端訪問許可),儲存,就一切就緒了。

在建立連線時,我的系統遇到如下錯誤:

[errorCode= GS-00503, SQLState=‘08006’, reason=‘Get connection failed., detail: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter’, clientIP=19.18.1.7.]
<-- javax/xml/bind/DatatypeConverter <-- javax.xml.bind.DatatypeConverter
javax/xml/bind/DatatypeConverter
javax/xml/bind/DatatypeConverter
javax.xml.bind.DatatypeConverter
javax.xml.bind.DatatypeConverter

注意這裡的關鍵錯誤是: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter’ 。

這是由於連線呼叫的 JAXB API是java EE 的API,在java SE 9.0 之後,預設情況下,Java SE中將不再包含java EE 的Jar包。而在 java 6 / 7 / 8 時關於這個API 都是捆綁在一起的,所以要麼降級 JDK,要麼補充 API 包。

這其中最為關鍵的是 jaxb-api,透過如下連結下載,然後加入驅動檔案中即可:
jaxb-api-2.3.0.jar
下載地址:

現在我們就可以毫無障礙的體驗和探索 GaussDB T 的世界了:

然後就可以用 GaussDB T (也就是 GaussDB 100)繪製聖誕樹了,純國產,更喜慶。話不多說,上圖:

SQL如下:

SELECT
CASE WHEN ENMOTECH = 1 THEN lpad( '*',
GAO,
' ')
ELSE lpad( ' ',
GAO + 1-ENMOTECH,
' ') || rpad( '*',
lag(ENMOTECH) OVER ( PARTITION BY 1
ORDER BY
ENMOTECH) + ENMOTECH -2,
'*')
END "聖誕快樂!"
FROM
( SELECT
LEVEL ENMOTECH ,
MAX( LEVEL) OVER ( PARTITION BY 1) GAO
FROM dual
CONNECT BY LEVEL < 19 )
UNION ALL
SELECT
lpad( lpad( '*',3, '*'),19)
FROM dual
CONNECT BY LEVEL < 5;

資料驅動,成就未來,雲和恩墨,不負所托!


二、MAC下使用RazorSQL圖形化工具連線華為GaussDB T資料庫



由於官方出的Data Studio沒有MAC版本,所以在Mac下要藉助其他圖形化工具RazorSQL來連線高斯100資料庫,直接載入華為高斯的jdbc驅動即可,找到一個相容Mac OS的工具razorsql。


1、下載並安裝razorsql

2、開啟客戶端ip白名單:

在zhba.conf檔案中加入host * 192.168.56.0/24,表示56網段的IP都可以連線。

[omm@pr7 cfg]$ pwd
/opt/gaussdb/data/cfg
[omm@pr7 cfg]$ ls -lrt
total 12
-rw------- 1 omm dbgrp 254 Oct 16 10:26 zengine.ini_bak
-rw------- 1 omm dbgrp 361 Oct 16 10:26 zengine.ini
-rw------- 1 omm dbgrp 766 Dec 25 12:17 zhba.conf

[omm@pr7 cfg]$ vi zhba.conf
host * 127.0.0.1,::1
host * 192.168.56.0/24

3、建立測試賬號並賦權:

SQL> create user steven identified by modb123;

GS-00339, [1:15]tcp connection is closed, reason: 32
SQL> exit;

[omm@pr7 bin]$ zsql SYS/Changeme_123@127.0.0.1:1888

Warning: SSL connection to server without CA certificate is insecure. Continue anyway? (y/n):y
connected.


SQL> create user steven identified by modb123;

GS-00658, The password was invalid: password can't be less than min length characters
SQL> ^[[A^C
SQL> create user steven identified by modb1234;

GS-00657, Password is too simple, password should contain at least three of the following character types:
A. at least one lowercase letter
B. at least one uppercase letter
C. at least one digit
D. at least one special character: `~!@#$%^&*()-_=+\|[{}]:'",<.>/? and space
SQL>
SQL> ^[[A^C
SQL> create user steven identified by modb123$;

Succeed.

SQL> grant connect, resource to steven;

Succeed.

5、重新載入hba IP白名單配置檔案

SQL> alter system reload hba config;

Succeed.

6、使用RazorSQL工具連線gaussdb

DATABASE TYPE選擇OTHER

依次輸入

連線名稱:gauss
登入使用者及密碼:steven/modb123$
jdbc驅動類名稱:com.huawei.gauss.jdbc.ZenithDriver
驅動檔案路徑:/gaussdb/GaussDB_100_1.0.1-REDHAT7.5-X86/GaussDB_100_1.0.1-CLIENT-JDBC/com.huawei.gauss.jdbc.ZenithDriver-GaussDB_100_1.0.1.SPC2.B003.jar
JDBC URL:jdbc:zenith:@192.168.56.102:1888

如下:

7、使用RazorSQL工具測試SQL

create table steven_test ( id number,class_name varchar2(30), name varchar2(50));

insert into STEVEN.STEVEN_TEST values (1, '222', 'steven')

select * from STEVEN.STEVEN_TEST

8、使用RazorSQL畫一個聖誕樹

用老楊的SQL畫一個聖誕樹:


三、MAC 下使用 DbVisualizer 圖形化工具連線GaussDB T 資料庫庫



以下介紹在MAC OS下使用DbVisualizer圖形化工具連線高斯100 GaussDB T資料庫,解決Get connection failed., detail: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter問題。


使用後發覺RazorSQL介面不太友好,後來找到DbVisualizer,介面和功能都比RazorSQL要好。

1、下載並安裝DbVisualizer

下載地址:

2、給使用者賦予檢視所有表的許可權

SQL> grant select any table to steven;

Succeed.

3、DbVisualizer中載入gaussdb驅動

Tools > Driver Manager…
右上角點選加號,create a new driver

點選driver jar files的資料夾選擇gaussdb 100的jdbc驅動。

name:gaussdb
URL:jdbc:zenith:@:
Driver Class:選擇com.huawei.gauss.jdbc.ZenithDriver

截圖如下:

4、新建資料庫連線

database type選擇Generic
Driver選擇gaussdb
URL:jdbc:zenith:@192.168.56.102:1888
登入使用者及密碼:steven/modb123$

點選連線報錯:


Get connection failed., detail: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter

因java版本太新,後下載jaxb-api-2.3.0.jar加入到java path解決

下載後放到了其中一個java class path即可。
help -> about 可以看到:
/Applications/DbVisualizer.app/Contents/java/app/lib

5、連線資料庫檢視資料

6、執行SQL

來源:墨天輪(,複製至瀏覽器即可檢視)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556440/viewspace-2671813/,如需轉載,請註明出處,否則將追究法律責任。

相關文章