尝试使用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数据库详解 — IT技术
在Java编程环境中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的标准接口。...理解并熟练掌握JDBC连接DB2驱动的使用,对于Java开发者来说是至关重要的,尤其是在开发与数据库交互的应用程序时。
"JDBC连接DB2数据库需要的jar包"这一主题,就是要讨论为了实现Java与DB2之间的通信,我们需要引入哪些JDBC驱动库。 首先,DB2提供了兼容JDBC标准的驱动程序,主要分为四种类型: 1. **Type 1(JDBC-ODBC...
**JDBC连接DB2 V9工程详解** 在Java开发中,数据库操作是不可或缺的一部分,而JDBC(Java Database Connectivity)是Java与各种数据库交互的标准接口。本教程将深入讲解如何利用JDBC技术来连接和操作IBM DB2 V9...
在本例中,"JDBC连接db2数据库.zip"是一个压缩包,包含了连接IBM DB2数据库所需的JDBC驱动。 DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级应用,支持多种操作系统平台,如Windows、Linux、Unix和...
- 在使用JDBC连接DB2之前,首先需要确保已经安装了DB2的JDBC驱动,并且在项目中正确配置了驱动的位置。这通常涉及到将DB2的JDBC驱动jar文件添加到项目的类路径中。 2. **获取数据库连接** - 使用`DriverManager....
本资源提供的“JDBC连接DB2驱动包”是IBM官方授权的正版驱动程序,确保了与DB2数据库连接的稳定性和安全性。这个驱动包包括两个主要的组件: 1. **db2jcc.jar**:这是DB2的JDBC类型4驱动程序,它是一个纯Java实现,...
在本文中,我们将深入探讨如何使用JDBC连接到IBM的DB2数据库。 首先,JDBC是Java的一部分,无需额外安装,只需在程序中引入`import java.sql.*;`即可使用其功能。要连接到DB2数据库,你需要知道连接字符串。对于...
DB2 JDBC 通过客户端连接DB2是数据库管理中常见的操作,尤其在Java开发环境中。JDBC(Java Database Connectivity)是Java编程语言与各种数据库交互的标准接口。本篇将深入探讨如何利用DB2 JDBC驱动程序建立从Java...
DB2是一款由IBM开发的关系型数据库管理系统,广泛应用于企业级数据存储和管理。...总的来说,连接DB2与Java的关键在于正确配置JDBC驱动,以及熟练运用`DriverManager.getConnection()`和相关的SQL执行方法。
通过以上步骤,我们不仅了解了如何使用JDBC连接DB2数据库,还学习了如何通过JDBC调用DB2中的存储过程,并处理其返回的结果集。这种技术在实际开发中非常实用,特别是在需要执行复杂操作或重复使用的逻辑时。希望本文...
Java通过JDBC(Java Database Connectivity)来...综上所述,使用Java JDBC连接DB2数据库涉及多个环节,包括驱动加载、连接创建、SQL执行以及资源关闭。理解这些概念和步骤对于进行Java与DB2之间的数据交互至关重要。
#### JDBC连接DB2数据库 要实现JSP与DB2之间的连接,通常会通过Java Database Connectivity (JDBC)来完成。JDBC是Java平台上的标准数据库访问接口,它提供了一套API供开发者使用。对于DB2来说,需要使用特定于DB2的...
**使用JDBC连接DB2** 以下是一个简单的示例,展示了如何使用JDBC连接到DB2数据库: ```java import java.sql.*; public class DB2JDBCExample { public static void main(String[] args) { String url = "jdbc:...
在使用这些驱动时,开发者需要在Java应用程序中正确配置JDBC连接字符串、用户名和密码,并将这些jar文件添加到项目的类路径中。这样,Java应用程序就能通过JDBC API与DB2 11.5数据库进行交互,执行SQL语句,处理结果...
JDBC连接各种数据库大全 JDBC连接DB2 JDBC连接Microsoft SQLServer(microsoft) JDBC连接Sybase JDBC连接MySQL JDBC连接PostgreSQL JDBC连接Oracle JDBC连接ODBC
使用JDBC连接DB2时,通常采用如下方式: ```java try { Class.forName("com.ibm.db2.jdbc.app.DB2Driver"); String url = "jdbc:db2://localhost:5000/sample"; // sample为数据库名 String user = "admin"; ...
以下是一个简单的JDBC连接DB2并执行查询的示例: ```java import java.sql.*; public class JdbcDb2Example { public static void main(String[] args) { String url = "jdbc:db2://localhost:50000/MYDB:...
- JDBC连接DB2,需要IBM的JDBC驱动,通常为`db2jcc4.jar`和`db2jcc_license_cu.jar`。这两个JAR包提供了对DB2数据库的连接支持,需要将它们添加到项目的类路径中。 - 使用`Class.forName()`方法加载驱动,然后通过...