1. 程式人生 > >DBeaver資料庫管理工具連線Sybase資料庫使用體驗

DBeaver資料庫管理工具連線Sybase資料庫使用體驗

從http://dbeaver.jkiss.org/下載了一個DBeaver1.4版,該軟體完全免費,功能與DBVisualizer相比,稍差一些,但是簡單易用,執行效率似乎要高一些。這裡以Sybase ASA, Sybase ASE, MySQL為例,介紹一下它的簡單配置和使用。

1. 下載http://dbeaver.jkiss.org/ DBeaver1.4
   我向來只使用解壓縮版:http://dbeaver.jkiss.org/files/dbeaver-1.4.0-win32.win32.x86.zip

2. 將其解到d:\tools, 這樣會有一個根目錄dbeaver, 裡邊有一個可執行程式dbeaver.exe,如果看看其中的readme,就知道它依賴一個外部的jvm。建立一個dbeaver.exe的快捷方式,在其目標(target)裡設定為:D:\tools\dbeaver\dbeaver.exe  -vm D:\shared\jdk1.6.0_02\bin\javaw, 用於指定jvm的位置。當然,你得事先準備好jdk1.6才行。

3.點開那個快捷方式,把DBeaver啟起來。同時準備好Sybase的jdbc驅動,ASE和ASA可以共用一個驅動。在dbeaver下建立子目錄drivers\sybase, 把jconn3.jar放進去。如果你手頭沒有,可以從已經安裝好的ASA11/12, java子目錄下複製一個,或者從ASE15\jConnect-6_0\classes子目錄下邊複製一個。要是手頭就沒有這些安裝版本,那麼可以從這裡的附件jconn3
http://dl.iteye.com/topics/download/86b782dc-b1e2-314d-8135-f733ef6db518
裡複製一個。
 
4. 開始新增jdbc driver manager, database->Driver Manager->create new driver
ASA的driver配置如下圖所示:

ASE的driver配置如下圖所示:


(注:雖然模板裡頭有一個sybase的jdbc driver示例,但那是jTDS,是一個開源產品,支援並不是太好,不如官方的jconn3.jar)

5.有了兩個已經註冊好的driver manager,我們就可以建立到ASA和ASE的連線了。
對ASA,可以現場建一個:
Java程式碼  收藏程式碼
  1. d:\shared\ASA110\BIN32>dbinit.exe ..\demo.db  
  2. SQL Anywhere 初始化實用程式 版本 11.0.1.2250
  3. CHAR 歸類序列:  936ZHO(CaseSensitivity=Ignore)  
  4. CHAR 字符集編碼:  GBK  
  5. NCHAR 歸類序列:  UCA(CaseSensitivity=Ignore;AccentSensitivity=Ignore;PunctuationSensitivity=Primary)  
  6. NCHAR 字符集編碼:  UTF-8
  7. 正在建立系統表  
  8. 正在建立系統檢視  
  9. 正在設定選項值  
  10. 已成功建立資料庫 "..\demo.db"
  11. 起db服務:  
  12. d:\shared\ASA110\BIN32>dbeng11.exe ..\demo.db  


然後用dbeaver連線這個ASA, 埠是2638. 如圖:

這樣你就可以成功的連線該demo資料庫了。

至於ASE, 更簡單了。
其連線資訊如下圖所示:

這是ASE連線的區域性效果圖:


6. 有一種特殊的情況,很多人容易犯錯,就是上邊提到的ASA連線,那個dbeng只啟動了一個demo.db, 要是它同時啟動多個db,怎麼建立到各個db的連線呢?
比如,我啟動了demo2.db和demo.db兩個db,在一個engine或者service裡頭。
在鍵的地方在於設定一個特殊的屬性, 那就是SERVICENAME屬性,填上db的名字即可。
demo.db對應的就是demo, demo2.db對應的就是demo2.
啟動多個db,要用dbsrv實用程式:d:\shared\ASA110\BIN32>dbsrv11.exe ..\demo.db ..\demo2.db

7. 至於MySQL,就比較簡單了。我們可以在drivers子目錄下邊建立一個mysql子目錄存放mysql的jdbc驅動。mysql-connector-java-5.0.7-bin.jar即可。你可以在mysql官網上下載。關於快速安裝和找建mysql,可以參考我的另一篇文章:
http://iihero.iteye.com/blog/995036, 裡邊有一處更新。
這是下載安裝mysql5.1.58的一個輸出中間結果,最終應該會生成iihero5.1服務。

啟動iihero5.1服務以後,進到d:\mysql相關目錄:
Java程式碼  收藏程式碼
  1. d:\mysql-5.1.58-win32\bin>mysql -u root  
  2. Welcome to the MySQL monitor.  Commands end with ; or \g.  
  3. Your MySQL connection id is 4
  4. Server version: 5.1.58-community MySQL Community Server (GPL)  
  5. Copyright (c) 20002010, Oracle and/or its affiliates. All rights reserved.  
  6. This software comes with ABSOLUTELY NO WARRANTY. This is free software,  
  7. and you are welcome to modify and redistribute it under the GPL v2 license  
  8. Type 'help;' or '\h'for help. Type '\c' to clear the current input statement.  
  9. mysql> use mysql  
  10. Database changed  
  11. mysql> select user,host,password from user;  
  12. +------+-----------+----------+  
  13. | user | host      | password |  
  14. +------+-----------+----------+  
  15. | root | localhost |          |  
  16. | root | 127.0.0.1 |          |  
  17. |      | localhost |          |  
  18. +------+-----------+----------+  
  19. 3 rows in set (0.00 sec)  
  20. mysql>  


密碼為空總為不妥,可以按照:http://dev.mysql.com/doc/refman/5.1/en/assigning-passwords.html裡的介紹修改一下root的密碼:
Java程式碼  收藏程式碼
  1. mysql> set PASSWORD=PASSWORD('test123');  
  2. Query OK, 0 rows affected (0.00 sec)  
  3. mysql> set PASSWORD for''@'localhost' = PASSWORD('test123');  
  4. Query OK, 0 rows affected (0.00 sec)  
  5. mysql> select user,host,password from user;  
  6. +------+-----------+-------------------------------------------+  
  7. | user | host      | password                                  |  
  8. +------+-----------+-------------------------------------------+  
  9. | root | localhost | *676243218923905CF94CB52A3C9D3EB30CE8E20D |  
  10. | root | 127.0.0.1 |                                           |  
  11. |      | localhost | *676243218923905CF94CB52A3C9D3EB30CE8E20D |  
  12. +------+-----------+-------------------------------------------+  
  13. 3 rows in set (0.00 sec)  


這樣root和''使用者的密碼就改為test123了。
再使用DBeaver建立連線並登入,非常方便。以下是總體截圖:


總體感覺是這個工具用起來比較簡單明瞭。
我自己也開發了一個xsql命令列工具,完全是console方式。