第一次用oracle
随便写了个测试程序:
import java.sql.*;public class OracleJdbc {
public static void main(String[] args) {
new OracleJdbc().launchJDBC();
} public void launchJDBC() {
String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
String DBURL = "jdbc:oracle:thin:@localhost:5560:ORCL";
String DBUSER = "scott";
String DBPASSWORD = "tiger";
Connection conn = null;
Statement stmt = null; try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
String sql = "CREATE TABLE test (name varchar(20))";
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}结果连接出错:
java.sql.SQLException: Io 异常: Bad packet type
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:254)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:386)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:413)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at OracleJdbc.launchJDBC(OracleJdbc.java:18)
at OracleJdbc.main(OracleJdbc.java:5)不知道是不用端口用错了
端口配置是
iSQL*Plus HTTP 端口号 =5560
Enterprise Manager Console HTTP 端口 (orcl) = 1158
Enterprise Manager 代理端口 (orcl) = 3938
应该用哪个?
不过3个好像都有问题
随便写了个测试程序:
import java.sql.*;public class OracleJdbc {
public static void main(String[] args) {
new OracleJdbc().launchJDBC();
} public void launchJDBC() {
String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
String DBURL = "jdbc:oracle:thin:@localhost:5560:ORCL";
String DBUSER = "scott";
String DBPASSWORD = "tiger";
Connection conn = null;
Statement stmt = null; try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
String sql = "CREATE TABLE test (name varchar(20))";
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}结果连接出错:
java.sql.SQLException: Io 异常: Bad packet type
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:254)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:386)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:413)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at OracleJdbc.launchJDBC(OracleJdbc.java:18)
at OracleJdbc.main(OracleJdbc.java:5)不知道是不用端口用错了
端口配置是
iSQL*Plus HTTP 端口号 =5560
Enterprise Manager Console HTTP 端口 (orcl) = 1158
Enterprise Manager 代理端口 (orcl) = 3938
应该用哪个?
不过3个好像都有问题
你看的那个端口是进控制台用的
配置文件里是:
iSQL*Plus HTTP 端口号 =5560
Enterprise Manager Console HTTP 端口 (orcl) = 1158
Enterprise Manager 代理端口 (orcl) = 3938我没有改oracle10g的默认端口,不知道JDBC要连哪个端口