java代码连接Oracle数据库出错,求解,以下是错误信息
import java.sql.*;public class Test {
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
public static final String DBURL = "jdbc:oracle:thin:@localhost:1158:mldn" ;
public static final String DBUSER = "scott" ;
public static final String DBPASS = "tiger" ;
public static void main(String[] args) {
Connection conn = getConnection();
if (conn != null) {
System.out.println("success!");
} else {
System.out.println("error!");
}
}
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(DBDRIVER);
} catch (ClassNotFoundException e) {
// e.printStackTrace();
}
try {
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
java.sql.SQLException: Got minus one from a read call
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at Test.getConnection(Test.java:28)
at Test.main(Test.java:10)
Caused by: oracle.net.ns.NetException: Got minus one from a read call
at oracle.net.ns.Packet.receive(Packet.java:285)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:286)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
... 8 more
error!
----------------解决方案--------------------------------------------------------
顶顶 高分贴
----------------解决方案--------------------------------------------------------
帮忙回答啊,朋友们》。。。
----------------解决方案--------------------------------------------------------
package com.ambow;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import oracle.sql.DATE;
public class InsertStuBase {
private String url="jdbc:oracle:thin:@localhost:1521:XE";
private String user="shimin";
private String password="shimin";
//public void insertStud(int USERID,String NAME,String PASSWD,String PHONE,String EMAIL,String REG_DATE){
public void insertStud(String EMAIL,int USERID){
Connection conn=null;
Statement stmt=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
//String sqlStr = "insert into USERS(USERID,NAME,PASSWD,PHONE,EMAIL,REG_DATE) " +
//"values(" +USERID+",'"+NAME+"','"+PASSWD+"','"+PHONE+"','"+EMAIL+"',to_date('"+REG_DATE+"','yyyy-mm-dd'))";
//String sqlStr="delete from users where userid ="+USERID;
String sqlStr="update users set email='"+EMAIL+"' where userid="+USERID;
int resNum = stmt.executeUpdate(sqlStr);
if(resNum>0){
System.out.println("修改成功!");
}else{
System.out.println("修改失败!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[]args){
InsertStuBase c=new InsertStuBase();
c.insertStud("357509541@QQ.com",2);
}
}
----------------解决方案--------------------------------------------------------
话说oracle的端口不是1158吧,好像是1521吧!!!
----------------解决方案--------------------------------------------------------
嗯嗯,谢谢各位,以解决......
----------------解决方案--------------------------------------------------------