0
x1.instance3650.db.xeround.com-nino_db 
[chatserver.sql.MySqlConnection.rehash()]   
this is con null [.()]   
connection to MySQL server failed 
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:  
Cannot load connection class because of underlying exception: 
'java.lang.NumberFormatException: For input string: "chatserver"'.  
[chatserver.sql.MySqlConnection.connect()]  
Exception in thread "AWT-EventQueue-0"  [.()] 
java.lang.NullPointerException [.()]  at   
chatserver.sql.MySqlConnection.ensureConnected(MySqlConnection.java:105) [.()]  at 
chatserver.sql.MySqlConnection.getServerConfig(MySqlConnection.java:936) [.()]  at 
chatserver.objects.ServerConfig.loadConfigFromSql(ServerConfig.java:57) [.()]  at 
chatserver.objects.ServerConfig.<init>(ServerConfig.java:49) [.()]  at 
chatserver.objects.Server.<init>(Server.java:36) [.()]  at 
chatserver.objects.Server.getInstance(Server.java:88) [.()]  at 
chatserver.main.ServerMain$1.run(ServerMain.java:24) [.()]  at 
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) [.()]  at 
java.awt.EventQueue.dispatchEvent(EventQueue.java:597) [.()] at 
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) [.()]  
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) [.()]  
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) [.
()]  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) [.()]  at 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) [.()]  at 
java.awt.EventDispatchThread.run(EventDispatchThread.java:122) [.()]

これは、次のコード ブロックによってスローされます。

try {
     //conn = DriverManager.getConnection ("jdbc:mysql://localhost:chatserver");
     // Joshua - change
     // dbPassword = "";
     conn = DriverManager.getConnection("jdbc:mysql://" + dbHost + ":"
                  + dbPort + "/" + dbDatabase + "?" + "user=" + dbUser
                    + "&"
                    + "password=" + dbPassword);
     lastMySqlActionTime = new Date().getTime();
} catch (SQLException e) {
     System.out.println("this is con "+conn);
     ServerLog.logError("connection to MySQL server failed "+e);
     return false;
}

コマンドプロンプトからデータベースにアクセスしてデータベースを使用できます...ドライバーにエラーが発生していません...

plz誰かが私を助けることができます..ありがとう

4

3 に答える 3

1

利用可能なスタックトレースとコードスニペットから、それはあなたのように見えますdbPortchatserver、ポートはのようなint3306であるため、整数として解析している間は失敗し、を与えますNumberFormatException

だから代わりに

conn = DriverManager.getConnection ("jdbc:mysql://localhost:chatserver")

これで試してみてください

conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/chatserver") 

完全な接続文字列は次のようになります。

DriverManager.getConnection("jdbc:mysql://localhost:3306/chatserver",
                            "root", "root");

上記では、ユーザー名、パスワード、dbPort、データベース名などを配置できます

ここでは、chatserverという名前のスキーマに接続することを想定しています。

于 2012-06-08T08:29:05.403 に答える
0

問題はにあると思います

conn = DriverManager.getConnection ("jdbc:mysql://localhost:chatserver");

ポート番号は数値である必要があるため、NumberFormatExceptionが発生します。

于 2012-06-08T08:30:19.897 に答える
0

以下の私のコードを見て、ここにあるように実装してみてください....スムーズに実行されることを願っています..目的のクエリ結果が得られ始めたら、さらに研究開発するために心ゆくまで変更してください.

change the password and usernameこの番組でお願いします

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Vector;

import javax.swing.JTable;

import com.my.views.*;


public class DBDiary {

    Connection conn;
    EntryDisplay entryD;


    public DBDiary(){

        this.getConn();

    }

    public Connection getConn(){

        try {
            conn = getConnection();

        } catch (SQLException e) {

            System.out.println("Connection Couldnt be Obtained");
        }
           return conn;
    }


    public static Connection getConnection() throws SQLException {

        String drivers = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/test";
        String username = "root";
        String password = "root";

        System.setProperty(drivers,"");

        return DriverManager.getConnection(url,username,password);

    }

    public void createTable() {

        Statement stat = null;
        String sql = "create table items(item varchar(30), cost DOUBLE(12,3),day integer,month varchar(15), year integer);";
        if (conn != null){

            try {

                 stat = conn.createStatement();

            } catch (SQLException e) {

                System.out.println("Connection Couldnt be Obtained");
            }

            if (stat != null){

                try {
                    stat.executeUpdate(sql);
                } catch (SQLException e) {
                    //System.out.println("Table already Exists");
                }       
            }

        }
    }


    public void addItems(String item, double cost,int day, String month, int year) {

        PreparedStatement pstat = null;

        String sql = "INSERT INTO ITEMS Values(?,?,?,?,?);";

        if (conn != null){

            try {

                 pstat = conn.prepareStatement(sql);


            } catch (SQLException e) {

                System.out.println("Connection Couldnt be Obtained");
            }

        }

        if (pstat != null) {

            try {

                 pstat.setString(1, item);
                 pstat.setDouble(2, cost);
                 pstat.setInt(3, day);
                 pstat.setString(4, month);
                 pstat.setInt(5,year);
                 pstat.executeUpdate();

            } catch (SQLException e) {

                e.printStackTrace();
                System.out.println("Insertion of the entry was unsuccessful");
            }
        }


    }


    public static void main(String[] args) {

    DBDiary db = new DBDiary();
    db.createTable();
    db.addItems("Cards", 40.00,29, "Mar", 2012);


    }
于 2012-06-08T09:12:52.793 に答える