【发布时间】:2014-09-23 13:05:11
【问题描述】:
您好,我在启动数据库时遇到问题。能否请您指出我的问题所在,谢谢。
我收到的错误消息:java.sql.SQLNonTransientConnectionException:java.net.ConnectException:Error Connecting to server localhost on = port 1527 with message 连接 拒绝: 连接。
这是我的代码:
public void CreateDatabase()
{
String createDB = "jdbc:derby://localhost:1527/C:/211092207/HotelBookings;create=true";
String createCustomer = "CREATE TABLE CUSTOMER ( CUSTOMERID NUMERIC(15) NOT NULL PRIMARY KEY, LASTNAME VARCHAR(20), FIRSTNAME VARCHAR(20), GENDER CHAR(1), EMAIL VARCHAR(50), CREDITRATING VARCHAR(9), NATIONALITY VARCHAR(20), DATEOFBIRTH VARCHAR(20), PHONE NUMERIC(10), CELLPHONE NUMERIC(10) )";
String createRoom = "CREATE TABLE ROOM ( ROOMNO NUMERIC(5) PRIMARY KEY, ROOMTYPE VARCHAR(9), DAILYRATE NUMERIC(20), STATUS CHAR(1))";
String createBooking = "CREATE TABLE BOOKING (BOOKINGID NUMERIC(10) NOT NULL PRIMARY KEY, ROOMNO NUMERIC(5), PROPOSEDCHECKINDATE DATE, PROPOSEDCHECKOUTDATE DATE, CHECKEDIN CHAR(1), ACTUALCHECKINDATE DATE, CHECKEDOUT CHAR(1), ACTUALCHECKOUTDATE DATE, CANCELLED CHAR(1), CANCELDATE DATE, CANCELREASON VARCHAR(100),AMOUNT NUMERIC(20), PAYDATE DATE, PAYMODE VARCHAR(15), STATUS VARCHAR(50), PAID CHAR(1), DATE DATE, CUSTOMERID NUMERIC(15))";
String refOne = "ALTER TABLE BOOKING ADD FOREIGN KEY(CUSTOMERID) REFERENCES CUSTOMER(CUSTOMERID)";
String refTwo = "ALTER TABLE BOOKING ADD FOREIGN KEY(BOOKINGID) REFERENCES BOOKING(BOOKINGID)";
Date one = new Date(20/9/2014);
Date two = new Date(10/10/1010);
Date three = new Date(16/9/2014);
Booking book = new Booking();
book.SetBookingID("9879974564");
book.SetRoomNumber("001");
book.SetProposedCheckInDate(one);
book.SetProposedCheckOutDate(one);
book.SetCheckedIn('F');
book.SetActualCheckInDate(one);
book.SetActualCheckOutDate(one);
book.setCancelled('F');
book.SetCancelDate(two);
book.SetCancelReason("");
book.SetAmount(10.20);
book.SetPayDate(one);
book.SetPayMode("Bank Deposit");
book.SetStatus("Done");
book.SetPaid('T');
book.SetDate(three);
book.SetCustomerID("9112315190086");
String insertStatement = ("INSERT INTO ROOM(ROOMNO, ROOMTYPE, DAILYRATE, STATUS) VALUES (001, 'Single', 120.00, 'A')");
String insertStatementTwo = ("INSERT INTO ROOM(ROOMNO, ROOMTYPE, DAILYRATE, STATUS) VALUES (002, 'Single', 120.00, 'A')");
String insertStatementThree = ("INSERT INTO ROOM(ROOMNO, ROOMTYPE, DAILYRATE, STATUS) VALUES (003, 'Double', 230.00, 'A')");
String insertStatementFour = ("INSERT INTO CUSTOMER(CUSTOMERID, LASTNAME, FIRSTNAME, GENDER, EMAIL, CREDITRATING, NATIONALITY, DATEOFBIRTH, PHONE, CELLPHONE) " +
"VALUES (9112415190086, 'Nel', 'Piet', 'M', 'pietnel@hotmail.com', 'Good', 'America', '31/12/2014', 0721360363, 0721589859)");
String insertStatementFive = ("INSERT INTO CUSTOMER(CUSTOMERID, LASTNAME, FIRSTNAME, GENDER, EMAIL, CREDITRATING, NATIONALITY, DATEOFBIRTH, PHONE, CELLPHONE) " +
"VALUES (9112315190086, 'van Tonder', 'Hannes', 'M', 'hannesvantonder@gmail.com', 'Good', 'South Africa', '31/12/2014', 0711360193, 0791589789)");
String insertStatementSix = ("INSERT INTO CUSTOMER(CUSTOMERID, LASTNAME, FIRSTNAME, GENDER, EMAIL, CREDITRATING, NATIONALITY, DATEOFBIRTH, PHONE, CELLPHONE) " +
"VALUES (9115987489968, 'le Roux', 'Paul', 'M', 'paul@gmail.com', 'Good', 'South Africa', '31/12/2014', 0721361193, 0821589789)");
try
{
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null, "not working");
}
当我调试我的代码时,下一条语句使编译器转到引发错误的 catch 语句
Connection conn = DriverManager.getConnection(createDB);
Statement stmt = conn.createStatement();
try
{
//Driver = new Driver();
//java.sql.Driver(createDB);
}
catch(Exception ex)
{
}
try
{
stmt.executeUpdate(createCustomer);
} //End try
catch(Exception ex)
{
} //End catch
try
{
stmt.executeUpdate(createRoom);
} //End try
catch(Exception ex)
{
} //End try
try
{
stmt.executeUpdate(createBooking);
} //End try
catch(Exception ex)
{
} //Catch
try
{
stmt.executeUpdate(refOne);
} //End try
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, "Failed");
} //End catch
try
{
stmt.executeUpdate(refTwo);
} //End try
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, "Failed");
} //End catch
try
{
stmt.executeUpdate(insertStatement);
}
catch(Exception ex)
{
}
try
{
stmt.executeUpdate(insertStatementTwo);
}
catch(Exception ex)
{
}
try
{
stmt.executeUpdate(insertStatementThree);
}
catch(Exception ex)
{
}
try
{
stmt.executeUpdate(insertStatementFour);
}
catch(Exception ex)
{
}
try
{
stmt.executeUpdate(insertStatementFive);
}
catch(Exception ex)
{
}
try
{
stmt.executeUpdate(insertStatementSix);
}
catch(Exception ex)
{
//JOptionPane.showMessageDialog(null, ex);
}
conn.close();
} //End try
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null, ex);
} //End catch
}
【问题讨论】:
-
java.sql.SQLNonTransientConnectionException:java.net.ConnectException:Error Connecting to server localhost on = port 1527 with message Connection refused: connect。您的连接被拒绝。所以要么您的计算机找不到主机,您的凭据可能错误(用户名/密码)或端口号可能错误,或者文件路径可能错误
-
请勿转发您的问题。
标签: java jdbc connection