This section describes how to create a table through the JDBC interface.
In order to do JDBC tests with Oracle database, I created a new table through JDBC interface using this program:
/**
* OracleCreateTable.java
* Copyright (c) 2007 by Dr. Herong Yang. All rights reserved.
*/
import java.sql.*;
import javax.sql.*;
public class OracleCreateTable {
public static void main(String [] args) {
Connection con = null;
try {
// Setting up the DataSource object
oracle.jdbc.pool.OracleDataSource ds
= new oracle.jdbc.pool.OracleDataSource();
ds.setDriverType("thin");
ds.setServerName("localhost");
ds.setPortNumber(1521);
ds.setDatabaseName("XE");
ds.setUser("Herong");
ds.setPassword("TopSecret");
// Getting a connection object
con = ds.getConnection();
// Creating a database table
Statement sta = con.createStatement();
int count = sta.executeUpdate(
"CREATE TABLE Profile ("
+ " ID INTEGER PRIMARY KEY,"
+ " FirstName VARCHAR(20) NOT NULL,"
+ " LastName VARCHAR(20),"
+ " Point REAL DEFAULT 0.0,"
+ " BirthDate DATE DEFAULT '31-Dec-1988',"
+ " ModTime TIMESTAMP DEFAULT '31-Dec-2006 11:59:59.999')");
System.out.println("Table created.");
sta.close();
con.close();
} catch (Exception e) {
System.err.println("Exception: "+e.getMessage());
}
}
}
When you run this program, table Profile will be created. But you run it again, you will get an exception:
C:\>javac -cp .;\local\lib\ojdbc14.jar OracleCreateTable.java
C:\>java -cp .;\local\lib\ojdbc14.jar OracleCreateTable
Table created.
C:\>java -cp .;\local\lib\ojdbc14.jar OracleCreateTable
Exception: ORA-00955: name is already used by an existing object