当前位置: 代码迷 >> Java相关 >> java代码连接Oracle数据库出错,求解,以下是错误信息
  详细解决方案

java代码连接Oracle数据库出错,求解,以下是错误信息

热度:236   发布时间:2011-08-12 00:48:32.0
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!


搜索更多相关的解决方案: java  数据库  Oracle  错误信息  

----------------解决方案--------------------------------------------------------
顶顶    高分贴
----------------解决方案--------------------------------------------------------
帮忙回答啊,朋友们》。。。
----------------解决方案--------------------------------------------------------
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吧!!!
----------------解决方案--------------------------------------------------------
嗯嗯,谢谢各位,以解决......
----------------解决方案--------------------------------------------------------
  相关解决方案