Can anyone please help me to write a code on java which will create database in DB2 database. For example manually we are creating the database in the DB2 database after that inside that using that database we are creating any number of table s. But I want to create that database inside DB2 database. So please help me in that code. I tried that code but its throwing me an error. Please help me.
My code which I had done is:
Expand|Select|Wrap|Line Numbers
- JDBCUtil.java
- package com.lara.util;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- public class JDBCUtil
- {
- static
- {
- try
- {
- Class.forName("com.ibm.db2.jcc.DB2Driver");
- }
- catch(ClassNotFoundException ex)
- {
- ex.printStackTrace();
- }
- }
- public static Connection getConnection() throws SQLException
- {
- return DriverManager.getConnection("jdbc:db2://localhost:50000/SADATA", "db2admin", "password");
- }
- public static Connection getConnectionForDatabase() throws SQLException
- {
- return DriverManager.getConnection("jdbc:db2://localhost:50000", "db2admin", "password");
- }
- public static void closeDbResources(ResultSet rs, Statement stmt, Connection con)
- {
- try
- {
- if(rs != null)
- {
- rs.close();
- rs = null;
- }
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- try
- {
- if(stmt != null)
- {
- stmt.close();
- stmt = null;
- }
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- try
- {
- if(con != null)
- {
- con.close();
- con = null;
- }
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
- }
A.java
Expand|Select|Wrap|Line Numbers
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- import java.sql.Statement;
- import com.lara.util.JDBCUtil;
- import com.lara.util.JDBCUtilForMySQL;
- public class A
- {
- public static void main(String[] args)
- {
- Connection con = null;
- Statement stmt = null;
- try
- {
- con = JDBCUtil.getConnection();
- PreparedStatement pstmt = con.prepareStatement("create database DBtry");
- int update = pstmt.executeUpdate();
- System.out.println("Database Created");
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- finally
- {
- JDBCUtil.closeDbResources(null, stmt, con);
- }
- }
- }
Exception which I am getting is:
Expand|Select|Wrap|Line Numbers
- com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=database;create ;TABLESPACE, DRIVER=3.63.75
- at com.ibm.db2.jcc.am.fd.a(fd.java:679)
- at com.ibm.db2.jcc.am.fd.a(fd.java:60)
- at com.ibm.db2.jcc.am.fd.a(fd.java:127)
- at com.ibm.db2.jcc.am.yn.c(yn.java:2644)
- at com.ibm.db2.jcc.am.yn.d(yn.java:2632)
- at com.ibm.db2.jcc.am.yn.a(yn.java:2097)
- at com.ibm.db2.jcc.am.zn.a(zn.java:7197)
- at com.ibm.db2.jcc.t4.cb.h(cb.java:141)
- at com.ibm.db2.jcc.t4.cb.b(cb.java:41)
- at com.ibm.db2.jcc.t4.q.a(q.java:32)
- at com.ibm.db2.jcc.t4.sb.i(sb.java:135)
- at com.ibm.db2.jcc.am.yn.gb(yn.java:2066)
- at com.ibm.db2.jcc.am.zn.pc(zn.java:3446)
- at com.ibm.db2.jcc.am.zn.b(zn.java:4236)
- at com.ibm.db2.jcc.am.zn.dc(zn.java:757)
- at com.ibm.db2.jcc.am.zn.executeUpdate(zn.java:740)
- at com.lara.classes.A.main(A.java:48)
Please help me from this exception.
Thanks & Regards
Sailendra Jena