DB2下載地址:https://www-01.ibm.com/marketing/iwm/iwm/web/pickUrxNew.do?source=swg-db2expressc(須要先註冊登陸),最新版本11.1html
下載後安裝一路next就完事了。java
安裝完了會默認建立一個simple數據庫。使用DB2命令行處理器運行:connect to simple user db2admin using 123456,而後使用list tables命令查看名下的表。mysql
參照:https://blog.csdn.net/u012288582/article/details/80870630web
經常使用命令:https://www.cnblogs.com/frankliiu-java/articles/2065666.htmlspring
db2與mysql的區別:sql
db2多了一個實例的概念,因爲在MySQL裏實例跟數據庫是一對一的,因此不提這個概念。可是在db2裏,一個實例能夠操做多個數據庫。數據庫
從DB2的體系結構方面來看,實例實際上就是DB2的執行代碼和數據庫對象的中間邏輯層。實例能夠當作是關於全部的數據庫及其對象的邏輯集合,實例爲數據庫運行提供一個環境。express
數據庫是物理的,咱們的表、索引存放在數據庫中要佔物理存儲的;而實例是邏輯的,是共享內存、進程和一些配置文件(實例目錄)的集合。工具
參考:https://blog.csdn.net/nayanminxing/article/details/69397870ui
圖形化工具SQuirreL SQL Client的使用:
1.官網下載http://squirrel-sql.sourceforge.net/
2.先配置驅動,驅動地址大概是jdbc:db2://localhost:50000/sample,而後下載jdbc驅動。
驅動下載地址:https://mvnrepository.com/artifact/com.ibm.db2.jcc/db2jcc4/10.1
下載後在外掛表裏把驅動加上,點擊列出驅動列表,而後選擇類。
3.新建一個別名,而後就能夠鏈接上了。
4.這個軟件的優勢是能夠看到全部的元數據,具體看官網文檔。
參考:http://www.javashuo.com/article/p-gbsyxeju-dm.html
關於如何使用spring+jdbc啓動db2:
https://www.ibm.com/developerworks/cn/java/j-tutorials-spring-with-db2-via-jdbc/index.html
DB2語句:
關於註釋:http://blog.itpub.net/29668428/viewspace-2284490/
http://blog.itpub.net/29668428/viewspace-2284490/
https://blog.csdn.net/baibinboss/article/details/63252370
可能出現的SQLCODE錯誤:
sqlcode=-204:http://www.javashuo.com/article/p-txoaumfe-dv.html
沒有定義的對象名
操做表的話是要<schema>.<tableName> db2的schema是和系統的用戶一致
sqlcode=-551:https://www.cnblogs.com/1446358788-qq/articles/8332292.html
權限缺失,須要grant dbadm(一切權限) on database to user db2admin(給當前用戶哪一個用戶的權限)
獲取列註釋:
public void TestDB2Connect()throws ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException{ String url = "jdbc:db2://localhost:50000/sample"; String user = "db2admin"; String pass = "123456"; Properties properties=new Properties(); properties.setProperty("user","db2admin"); properties.setProperty("password","123456"); properties.setProperty("currentSchema","administrator"); Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance(); Connection conn = DriverManager.getConnection(url, properties); DatabaseMetaData metadata = conn.getMetaData(); ResultSet resultSet = metadata.getTables(null, null, null, null); while (resultSet.next()) { String tableName=resultSet.getString("TABLE_NAME"); //System.out.println(tableName); if(tableName.equals("TB1")){ ResultSet rs = conn.getMetaData().getColumns(null,"%",tableName.toUpperCase(),"%"); while(rs.next()){ System.out.println(rs.getString("COLUMN_NAME")); System.out.println(rs.getString("REMARKS")); } rs.close(); } } resultSet.close(); }
參照: