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

相关文章
相关标签/搜索