精华内容
下载资源
问答
  • Java连接DB2数据库开发应用程序的步骤
    2021-03-09 17:05:51

    【IT168 技术】之前我们介绍过:DB2数据库创建触发器的实现过程和DB2数据库调用存储过程的方法及实例,本文我们来介绍一下DB2数据库Java编程时的一些步骤,接下来就让我们来一起了解一下这一过程。

    Java数据库链接(JDBC)

    DB2的Java 支持包括JDBC,一个以供应商为中心的动态SQL接口,它通过标准的Java方法提供对应用程序的数据存取。JDBC与DB2 CLI相似之处在于您不必预编译或联编JDBC 程序。使用 JDBC 编写的应用程序只使用动态SQL。

    JDBC编程步骤:

    1.建立与数据库的连接:

    Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");

    connection con=DriverManager.getConnection(url);

    2.创建Statement对象:

    Statement stmt=con.createStatement();

    3.执行查询语句:

    ResultSet rs=stmt.execQuery("SQL语句");

    4.获取和设置选项:

    ResultSetMetaData rsmd=rs.getMetaData();

    int numCols=rsmd.getColumnCount()获取结果集总列数;

    rsmd.getColumnLabel(i))获取记录值;

    setMaxRows :设置结果集能容纳的最多行数.

    setQueryTimeout:设置一个语句执行等待的时间.

    setEscapeProcessing:通知驱动程序如何处理转义字符.

    5.关闭Statement

    stmt.clost();

    调用层接口(CLI)

    CLI不是一种新的查询语言,它只不过是应用程序可利用SQL语句去提交事务处理的一种简单接口,对数据库的查询和修改,仍要使用SQL语言编写,包括CLI函数的调用。

    调用层接口(CLI)为DB2所提供的处理动态SQL语句的两种机制之一,即在应用程序首次运行时,动态SQL语句提交给数据库系统,CLI依赖一组函数调用,可嵌入主语言中。

    关于DB2数据库JDBC编程步骤的知识就介绍到这里了,希望您有所收获!

    更多相关内容
  • Java连接DB2

    2019-03-21 02:01:32
    NULL 博文链接:https://stevenjohn.iteye.com/blog/968849
  • java访问DB2 (一)

    2022-01-17 11:41:08
    2、java访问DB2 1、启DB2服务 网上查了一些DB2的安装,很复杂,直接去docker hub上看看有没有镜像,发现真就镜像,那么有镜像就好说了直接拉取镜像run起来就行了。 前置条件:安装好docker环境 接下来: docker hub...

    本文章分两个部分:
    1、启DB2服务,便于后续的连接测试
    2、java访问DB2

    1、启DB2服务
    网上查了一些DB2的安装,很复杂,直接去docker hub上看看有没有镜像,发现真就镜像,那么有镜像就好说了直接拉取镜像run起来就行了。
    前置条件:安装好docker环境

    接下来:
    docker hub上DB2镜像
    它给出了quick start:
    在这里插入图片描述
    直接run:

    docker run -d -p 50000:50000 --name my-db2 --privileged=true -e DB2INST1_PASSWORD=password -e DBNAME=testdb -e LICENSE=accept  ibmcom/db2
    

    镜像对外端口号为50000,到时访问这个端口号就行了。

    docker ps 
    

    可以看到服务起来了。(如果没有起来,查一下是不是端口号被占用了)
    这部分可以参考这篇博客
    2、java连接DB2

    // java 连接类
    public class SingleConnectionDataSource implements DataSource {
    
    
        private JdbcProperty jdbcProperty;
    
        public SingleConnectionDataSource(JdbcProperty jdbcProperty) {
            this.jdbcProperty = jdbcProperty;
        }
        
    	@Override
        public Connection getConnection() throws SQLException {
            try {
                Class.forName(jdbcProperty.getDriverName());
            } catch (ClassNotFoundException e) {
                throw new RuntimeException("Failed to load jdbc drive class " +
                                      jdbcProperty.getDriverName());
            }
    
            Connection con;
            try {
                con = DriverManager.getConnection(jdbcProperty.getUrl(),
                                                  jdbcProperty.getUserName(),
                                                  jdbcProperty.getPassword());
            } catch (SQLException e) {
    
                throw new RuntimeException("Failed to create connection " +
                                      e.getMessage());
            }
            return con;
        }
        @Override
        public Connection getConnection(String username, String password)
                throws SQLException {
            throw new UnsupportedOperationException();
        }
    
        @Override
        public <T> T unwrap(Class<T> iface) throws SQLException {
            throw new UnsupportedOperationException();
        }
    
        @Override
        public boolean isWrapperFor(Class<?> iface) throws SQLException {
            throw new UnsupportedOperationException();
        }
    
        @Override
        public PrintWriter getLogWriter() throws SQLException {
            throw new UnsupportedOperationException();
        }
    
        @Override
        public void setLogWriter(PrintWriter out) throws SQLException {
    
            throw new UnsupportedOperationException();
        }
    
        @Override
        public void setLoginTimeout(int seconds) throws SQLException {
            throw new UnsupportedOperationException();
        }
    
        @Override
        public int getLoginTimeout() throws SQLException {
            throw new UnsupportedOperationException();
        }
    
        @Override
        public java.util.logging.Logger getParentLogger()
                throws SQLFeatureNotSupportedException {
            throw new UnsupportedOperationException();
        }
    
        public JdbcProperty getJdbcProperty() {
            return jdbcProperty;
        }
    }
    
    

    主类:

    
    public class db2TestMain {
        public static void main(String[] args) {
            // jdbc连接都是连接到 数据库级别
            String url = "jdbc:db2://127.0.0.1:50000/testdb";
            String username = "db2inst1";
            String password = "password";
            // 注意要连接db2的 property要有schema, schema是大写的
            JdbcProperty jdbcProperty =
                    new JdbcProperty.Builder(url, username, password)
                            .driverName("com.ibm.db2.jcc.DB2Driver")
                            .schema("DB2INST1").build();
            SingleConnectionDataSource dataSource =
                    new SingleConnectionDataSource(jdbcProperty);
            List<String> tables = listTables(dataSource);
            Collections.sort(tables);
            System.out.println("所有表:" + tables);
        }
            // 根据DataSource 来列出所有表
    	public List<String> listTables(DataSource dataSource) {
            try (Connection conn = dataSource.getConnection()) {
                List<String> tables = Lists.newArrayList();
                DatabaseMetaData metaData = conn.getMetaData();
                String schemaPattern = null;
                String schema = ((SingleConnectionDataSource) dataSource)
                        .getJdbcProperty().getSchema();
                if (StringUtils.isNotBlank(schema)) {
                    schemaPattern = schema;
                }
                ResultSet rs = metaData.getTables(null, schemaPattern, "%", null);
                while (rs.next()) {
                    tables.add(rs.getString("TABLE_NAME"));
                }
                return tables;
            } catch (SQLException e) {
                throw new RuntimeException("SQL_EXECUTION_ERROR"+ " list tables");
            }
        }
     }
     
    

    一些maven依赖,主要是db2的依赖:

    <dependencies>
            <dependency>
                <groupId>commons-dbutils</groupId>
                <artifactId>commons-dbutils</artifactId>
                <version>1.6</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>23.0</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.4</version>
            </dependency>
    
    		<!-- db2依赖 -->
            <dependency>
                <groupId>com.ibm.db2</groupId>
                <artifactId>jcc</artifactId>
                <version>11.5.0.0</version>
            </dependency>
        </dependencies>
    
    展开全文
  • Java连接DB2数据源的例子,演示Java加载驱动程序,执行此例子需要调用newInstance()  注意JDK 1.1.1以下版本 在 OS/2上不具备Class.forName() 方法  执行静态初始化,可以忽略调用.
  • 本篇文章主要介绍了详述 DB2 分页查询Java 实现的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • db2中用java方法

    2019-03-12 11:24:53
    db2中用java方法来加解密数据入库;
  • db2java 驱动jar包

    2018-03-02 15:37:03
    db2db2java 驱动jar包
  • java连接db2实例

    2013-08-09 21:14:07
    java 连接db2 实例 包括jar包 都在里面
  • java中使用下面代码查询db2的clob列(conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY))在java中使用下面代码查询db2的clob列(conn.createStatement(ResultSet.TYPE_SCROLL_...

    在java中使用下面代码查询db2的clob列(conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY))

    在java中使用下面代码查询db2的clob列

    (conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY)).executeQuery(sql)

    时会报以下错误:

    DB2 SQL error: SQLCODE: -270, SQLSTATE: 42997, SQLERRMC: 63

    而sql语句在db2中直接执行是不会报错的。

    在db2中直接执行是没有使用scrollable cursor游标的,,那解决的方法既是:

    将createStatement中的参数去掉,直接用下面的代码:

    createStatement().executeQuery(sql)

    这样就可以了,不会报错的了

    logo.gif

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:php中文网

    展开全文
  • java连接DB2jdbc所有驱动
  • 本文档为作者在实践过程中的总结,大神可以绕道,如果是初学者可以阅读,非常详细。
  • DB2 中读取clob类型

    2021-04-23 12:11:32
    读取clob类型的xml数据:export to xml.del of del lobfile xml modified by lobsinfile select requested_elements_clob from req.access_req_v where request_id in (14, 15);写入clob类型的xml数据:import from ...

    读取clob类型的xml数据:

    export to xml.del of del lobfile xml modified by lobsinfile select requested_elements_clob from req.access_req_v where request_id in (14, 15);

    写入clob类型的xml数据:

    import from '/home/team1adm/autoDBA/importXMLCLOB_FIW.del' of del lobs from '/home/team1adm/autoDBA' modified by lobsinfile insert_update into req.access_req_xml_clob;

    importXMLCLOB_FIW.del:

    2056579, "2056579.req.0.35192/"

    2056588, "2056588.req.0.48122/"

    Big file out:

    INSERT INTO REQ.ACCESS_REQ (app_code, serial, cc, userid, request_id, top_level_element, USERID_TYPE, REQ_SERIAL, REQ_CC, SYSTEM, request_type, status, status_updated_by, referred_request_id, timestamp, status_updated_date, business_justification, REQUESTED_ELEMENTS) VALUES ('FIW_LR', '908749', 'JPG', 'J908749', 2056579, 'Geo_Country_LC_LD', 'HYPERION', 'C-3M2F', '897', '', 'MIGRATED', 'GRANTED', 'oneteam@us.ibm.com', 0, CURRENT TIMESTAMP, CURRENT TIMESTAMP, 'MIGRATED USER', null);

    INSERT INTO REQ.ACCESS_REQ (app_code, serial, cc, userid, request_id, top_level_element, USERID_TYPE, REQ_SERIAL, REQ_CC, SYSTEM, request_type, status, status_updated_by, referred_request_id, timestamp, status_updated_date, business_justification, REQUESTED_ELEMENTS) VALUES ('FIW_LR', '8A0735', '897', 'GMEGHAN', 2056588, 'Geo_Country_LC_LD', 'HYPERION', 'C-3M2F', '897', '', 'MIGRATED', 'GRANTED', 'oneteam@us.ibm.com', 0, CURRENT TIMESTAMP, CURRENT TIMESTAMP, 'MIGRATED USER', null);

    import from 'D:\tmp\FIW\xxx\importXMLCLOB_FIWLR.del' of del lobs from 'D:\tmp\FIW\xxx' modified by lobsinfile insert into req.access_req_xml_clob;

    展开全文
  • db2jcc_license_cu.jar包/ db2java.jar包/ db2jcc.jar包
  • Java连接db2 数据库jar包 db2jcc.jar db2jcc_license_cu.jar
  • 此文章主要讲述的是Java连接DB2数据库的实际操作过程,如果你在实际操作中遇到Java连接DB2数据库的实际操作过程,但是你却不知道对其如何正确的解决,那么以下的文章对你而言一定是良师益友。1. 关于Connection ...
  • DB2 查询数据库内表名

    千次阅读 2021-06-28 17:42:51
    select * from syscat.tables where OWNER=‘DB2INST’ and TABSCHEMA=‘DB2INST’
  • java连接DB2所需的jar包

    2013-07-31 15:15:21
    java连接DB2所需的所有的jar包,很全
  • javaWeb程序连接db2数据库驱动jar包
  • db2java+db2jcc+db2jcc4+license 。db2数据库的驱动和license
  • java实现连接db2数据库的代码实例第一种:目前ibm一直都没有提供type 1的jdbc驱动程序。第二种:类型2驱动:com.ibm.db2.jdbc.app.db2driver,该驱动也位于包db2java.zip中,jdk必须能访问db2db2jdbc.dll等。用法...
  • java 调用db2存储过程

    2013-02-28 07:54:38
    java 调用db2存储过程,将db2数据库的存储过程描述,讲的比较清楚。
  • 博文链接:https://acme1921209.iteye.com/blog/97776
  • db2java db2jcc

    2016-11-01 10:13:59
    db2java.jar
  • java连接DB2指定schema

    千次阅读 2019-08-29 14:38:34
    url=“jdbc:db2://127.0.0.1:50000/dbtest:currentSchema=db2inst1;” 特别注意:currentSchema是区分大小写的,后面的分号也是必须的! 如果不添加currentSchema写sql时需要指定使用的schema select count(1) as ...
  • db2java.jar

    2018-01-11 18:42:08
    db2数据库使用的jar包,欢迎下载。 db2数据库使用的jar包,欢迎下载。
  • java连接db2jar包

    2013-12-23 15:00:24
    java连接db2数据库使用的jar包 db2jcc.jar db2jcc_license_cu.jar 看到论坛里有,但是需要积分,我就传个不要积分的哈
  • db2的相关jar包依赖

    2020-10-10 16:55:24
    上传的是DB2驱动文件db2java.jar、db2jcc.jar、db2jcc_license_cu.jar。压缩包中有db2java.jar、 db2jcc.jar、db2jcc_license_cu.jar
  • java db2数据库驱动

    2013-07-05 09:58:07
    java 开发连接DB2 数据库的驱动 jar包

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,986
精华内容 26,794
关键字:

java 查询db2

java 订阅