`

jdbc连接db2

    博客分类:
  • db2
阅读更多

尝试使用jdbc连接sample数据库

public class Db2Test {
    public static void main(String[] args) throws Exception {
        Class.forName("com.ibm.db2.jcc.DB2Driver");
        Connection conn = DriverManager.getConnection("jdbc:db2://localhost:50000/sample", "db2admin", "db2admin");
        ResultSet rs = conn.createStatement().executeQuery("select count(*) from STAFF");
        rs.next();
        int count = rs.getInt(1);
        System.out.println(count);
        rs.close();
        conn.close();
    }
}

 

出现如下错误:

Exception in thread "main" com.ibm.db2.jcc.am.io: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.STAFF, DRIVER=3.57.82
	at com.ibm.db2.jcc.am.bd.a(bd.java:676)
	at com.ibm.db2.jcc.am.bd.a(bd.java:60)
	at com.ibm.db2.jcc.am.bd.a(bd.java:127)
	at com.ibm.db2.jcc.am.km.c(km.java:2506)
	at com.ibm.db2.jcc.am.km.d(km.java:2483)
	at com.ibm.db2.jcc.am.km.a(km.java:1963)
	at com.ibm.db2.jcc.t4.db.g(db.java:139)
	at com.ibm.db2.jcc.t4.db.a(db.java:39)
	at com.ibm.db2.jcc.t4.t.a(t.java:32)
	at com.ibm.db2.jcc.t4.sb.h(sb.java:135)
	at com.ibm.db2.jcc.am.km.eb(km.java:1934)
	at com.ibm.db2.jcc.am.km.a(km.java:2863)
	at com.ibm.db2.jcc.am.km.a(km.java:628)
	at com.ibm.db2.jcc.am.km.executeQuery(km.java:612)
	at hello.Db2Test.main(Db2Test.java:11)

 

将jdbc url改成"jdbc:db2://localhost:50000/sample:retrieveMessagesFromServerOnGetMessage=true;"

 

这时会提示比较详细的错误信息:

Exception in thread "main" com.ibm.db2.jcc.am.io: "DB2ADMIN.STAFF" is an undefined name..

 

我们启动db2数据库然后对数据库进行各种操作。比如建sample数据库,默认的schema难道不db2admin吗???不是的,通过以下sql查看当前的schema


 

原来是开机用户名。。。于是在jdbc连接中使用开机用户名和密码,这次就连接成功了。

 

如果非要想使用db2admin用户怎么办?那么就显示的指定schema

 Class.forName("com.ibm.db2.jcc.DB2Driver");
        Connection conn = DriverManager.getConnection("jdbc:db2://localhost:50000/sample:retrieveMessagesFromServerOnGetMessage=true;", "db2admin", "db2admin");
        ResultSet rs = conn.createStatement().executeQuery("select count(*) from \"CYPER.YIN\".staff");
        rs.next();
 

或者这样

        Class.forName("com.ibm.db2.jcc.DB2Driver");
        Connection conn = DriverManager.getConnection("jdbc:db2://localhost:50000/sample:retrieveMessagesFromServerOnGetMessage=true;currentSchema=CYPER.YIN;", "db2admin", "db2admin");
        ResultSet rs = conn.createStatement().executeQuery("select count(*) from staff");

 按理说,schema是不区分大小写的。可能是我的用户名中有点号的原因。必须大写才可以。

 

 

可以在建表前切换到其它的schema

使用命令set current schema <schema_name>

(如果schema不存在也可以,会隐式的创建)

 

然后这个表的schema就不再是开机用户了。

 

可以使用select * from foo.test1来访问创建的新表。

 

 

难用!

 

 

 

 

  • 大小: 3.7 KB
  • 大小: 2.9 KB
分享到:
评论

相关推荐

    JDBC连接DB2数据库详解

    JDBC连接DB2数据库详解 — IT技术

    JDBC连接db2驱动包,包含db2jcc_license_cu.jar,db2jcc4.jar

    在Java编程环境中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的标准接口。...理解并熟练掌握JDBC连接DB2驱动的使用,对于Java开发者来说是至关重要的,尤其是在开发与数据库交互的应用程序时。

    JDBC连接DB2数据库需要的jar包

    "JDBC连接DB2数据库需要的jar包"这一主题,就是要讨论为了实现Java与DB2之间的通信,我们需要引入哪些JDBC驱动库。 首先,DB2提供了兼容JDBC标准的驱动程序,主要分为四种类型: 1. **Type 1(JDBC-ODBC...

    JDBC 连接db2 v9工程

    **JDBC连接DB2 V9工程详解** 在Java开发中,数据库操作是不可或缺的一部分,而JDBC(Java Database Connectivity)是Java与各种数据库交互的标准接口。本教程将深入讲解如何利用JDBC技术来连接和操作IBM DB2 V9...

    JDBC连接db2数据库.zip

    在本例中,"JDBC连接db2数据库.zip"是一个压缩包,包含了连接IBM DB2数据库所需的JDBC驱动。 DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级应用,支持多种操作系统平台,如Windows、Linux、Unix和...

    通过JDBC通过java连接DB2数据库

    - 在使用JDBC连接DB2之前,首先需要确保已经安装了DB2的JDBC驱动,并且在项目中正确配置了驱动的位置。这通常涉及到将DB2的JDBC驱动jar文件添加到项目的类路径中。 2. **获取数据库连接** - 使用`DriverManager....

    JDBC连接DB2驱动包(公司授权正版驱动)

    本资源提供的“JDBC连接DB2驱动包”是IBM官方授权的正版驱动程序,确保了与DB2数据库连接的稳定性和安全性。这个驱动包包括两个主要的组件: 1. **db2jcc.jar**:这是DB2的JDBC类型4驱动程序,它是一个纯Java实现,...

    JDBC连接DB2数据库详解.doc--转载

    在本文中,我们将深入探讨如何使用JDBC连接到IBM的DB2数据库。 首先,JDBC是Java的一部分,无需额外安装,只需在程序中引入`import java.sql.*;`即可使用其功能。要连接到DB2数据库,你需要知道连接字符串。对于...

    db2 jdbc 通过客户端连接db2

    DB2 JDBC 通过客户端连接DB2是数据库管理中常见的操作,尤其在Java开发环境中。JDBC(Java Database Connectivity)是Java编程语言与各种数据库交互的标准接口。本篇将深入探讨如何利用DB2 JDBC驱动程序建立从Java...

    连接DB2包,DB2与JAVA连接驱动,JDBC驱动

    DB2是一款由IBM开发的关系型数据库管理系统,广泛应用于企业级数据存储和管理。...总的来说,连接DB2与Java的关键在于正确配置JDBC驱动,以及熟练运用`DriverManager.getConnection()`和相关的SQL执行方法。

    JDBC调DB2存储过程

    通过以上步骤,我们不仅了解了如何使用JDBC连接DB2数据库,还学习了如何通过JDBC调用DB2中的存储过程,并处理其返回的结果集。这种技术在实际开发中非常实用,特别是在需要执行复杂操作或重复使用的逻辑时。希望本文...

    java连接DB2jdbc所有驱动

    Java通过JDBC(Java Database Connectivity)来...综上所述,使用Java JDBC连接DB2数据库涉及多个环节,包括驱动加载、连接创建、SQL执行以及资源关闭。理解这些概念和步骤对于进行Java与DB2之间的数据交互至关重要。

    JSP如何连接到DB2

    #### JDBC连接DB2数据库 要实现JSP与DB2之间的连接,通常会通过Java Database Connectivity (JDBC)来完成。JDBC是Java平台上的标准数据库访问接口,它提供了一套API供开发者使用。对于DB2来说,需要使用特定于DB2的...

    jdbc db2驱动

    **使用JDBC连接DB2** 以下是一个简单的示例,展示了如何使用JDBC连接到DB2数据库: ```java import java.sql.*; public class DB2JDBCExample { public static void main(String[] args) { String url = "jdbc:...

    DB2 11.5版本 jdbc db2jcc db2jcc4驱动

    在使用这些驱动时,开发者需要在Java应用程序中正确配置JDBC连接字符串、用户名和密码,并将这些jar文件添加到项目的类路径中。这样,Java应用程序就能通过JDBC API与DB2 11.5数据库进行交互,执行SQL语句,处理结果...

    JDBC连接各种数据库大全

    JDBC连接各种数据库大全 JDBC连接DB2 JDBC连接Microsoft SQLServer(microsoft) JDBC连接Sybase JDBC连接MySQL JDBC连接PostgreSQL JDBC连接Oracle JDBC连接ODBC

    jdbc连接各种数据库方式列表

    使用JDBC连接DB2时,通常采用如下方式: ```java try { Class.forName("com.ibm.db2.jdbc.app.DB2Driver"); String url = "jdbc:db2://localhost:5000/sample"; // sample为数据库名 String user = "admin"; ...

    jdbc连接

    以下是一个简单的JDBC连接DB2并执行查询的示例: ```java import java.sql.*; public class JdbcDb2Example { public static void main(String[] args) { String url = "jdbc:db2://localhost:50000/MYDB:...

    JDBC连接5种数据库JAR包

    - JDBC连接DB2,需要IBM的JDBC驱动,通常为`db2jcc4.jar`和`db2jcc_license_cu.jar`。这两个JAR包提供了对DB2数据库的连接支持,需要将它们添加到项目的类路径中。 - 使用`Class.forName()`方法加载驱动,然后通过...

Global site tag (gtag.js) - Google Analytics