DB2入門

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();
    }

 參照:

https://blog.csdn.net/xiaofeng6072/article/details/76850391

http://www.javashuo.com/article/p-meygcazm-dp.html

相關文章
相關標籤/搜索