墨墨導讀:工欲善其事,必先利其器。很多讀者問(wèn),如何連接 GaussDB T(原 GaussDB 100)呢?在安裝了 GaussDB T 之后,本文分別通過(guò) DBeaver工具、RazorSQL圖形化工具、 DbVisualizer圖形化工具和數據庫建立了連接,供大家參考學(xué)習,歡迎在評論區討論。另:墨天輪組建了一個(gè)GaussDB學(xué)習的扣扣群(640663596),會(huì )分享 GaussDB T 的測試賬號,供大家直接上手 GaussDB T數據庫,揭開(kāi)面紗。
一、 通過(guò) DBeaver 和 GaussDB T 數據庫無(wú)縫交互
DBeaver 是一款通用的SQL客戶(hù)端和數據庫管理工具。對于關(guān)系數據庫,它使用JDBC API通過(guò)JDBC驅動(dòng)程序與數據庫交互。dbeaver 提供了一個(gè)編輯器,支持代碼完成和語(yǔ)法突顯,同時(shí)通過(guò)提供插件體系結構,允許用戶(hù)修改應用程序的大部分行為,以提供與數據庫無(wú)關(guān)的針對數據庫的功能或特性。
DBeaver 的社區版功能就極為豐富和強大。
安裝了 DBeaver 之后,通過(guò) “Driver Manager” 新建驅動(dòng),在以下頁(yè)面添加 GaussDB 的驅動(dòng),驅動(dòng)來(lái)自 GaussDB T提供的介質(zhì),解壓后可以找到 JDBC 驅動(dòng) jar 文件:
添加了驅動(dòng)文件之后,『Find Class』,在下拉選擇 ZenithDriver 之后, 『Class Name』位置,會(huì )自動(dòng)填寫(xiě) GaussDB 的驅動(dòng)名稱(chēng)。
接下來(lái),在 URL Template 位置填寫(xiě)你的數據庫地址和端口信息(前提是,服務(wù)器開(kāi)啟了遠程訪(fǎng)問(wèn)許可),保存,就一切就緒了。
在建立連接時(shí),我的系統遇到如下錯誤:
[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
注意這里的關(guān)鍵錯誤是: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 時(shí)關(guān)于這個(gè)API 都是捆綁在一起的,所以要么降級 JDK,要么補充 API 包。
這其中最為關(guān)鍵的是 jaxb-api,通過(guò)如下鏈接下載,然后加入驅動(dòng)文件中即可:
jaxb-api-2.3.0.jar
下載地址:
http://search.maven.org/remotecontent?filepath=javax/xml/bind/jaxb-api/2.3.0/jaxb-api-2.3.0.jar
現在我們就可以毫無(wú)障礙的體驗和探索 GaussDB T 的世界了:
然后就可以用 GaussDB T (也就是 GaussDB 100)繪制圣誕樹(shù)了,純國產(chǎn),更喜慶。話(huà)不多說(shuō),上圖:
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 "圣誕快樂(lè )!"
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;
數據驅動(dòng),成就未來(lái),云和恩墨,不負所托!
二、MAC下使用RazorSQL圖形化工具連接華為GaussDB T數據庫
由于官方出的Data Studio沒(méi)有MAC版本,所以在Mac下要借助其他圖形化工具RazorSQL來(lái)連接高斯100數據庫,直接加載華為高斯的jdbc驅動(dòng)即可,找到一個(gè)兼容Mac OS的工具razorsql。
https://razorsql.com/download.html
在zhba.conf文件中加入host * 192.168.56.0/24,表示56網(wǎng)段的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
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.
SQL> alter system reload hba config;
Succeed.
DATABASE TYPE選擇OTHER

依次輸入
連接名稱(chēng):gauss
登錄用戶(hù)及密碼:steven/modb123$
jdbc驅動(dòng)類(lèi)名稱(chēng):com.huawei.gauss.jdbc.ZenithDriver
驅動(dòng)文件路徑:/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
如下:

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

用老楊的SQL畫(huà)一個(gè)圣誕樹(shù):

三、MAC 下使用 DbVisualizer 圖形化工具連接GaussDB T 數據庫庫
以下介紹在MAC OS下使用DbVisualizer圖形化工具連接高斯100 GaussDB T數據庫,解決Get connection failed., detail: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter問(wèn)題。
使用后發(fā)覺(jué)RazorSQL界面不太友好,后來(lái)找到DbVisualizer,界面和功能都比RazorSQL要好。
下載地址:
https://www.dbvis.com/download/10.0
SQL> grant select any table to steven;
Succeed.
聯(lián)系客服