Это выход из программы приведены ниже:JDBC: Соединение возвращает NULL, что делать?
Connection made!
Schema Name:null
Successfully connected to null
Releasing all open resources ...
Внутри establishConnection(), сопп инициализируется как нуль. Тогда первый оператор внутри блока try должен установить соединение с базой данных, а третий оператор затем распечатает имя текущей схемы соединения.
В соответствии с API, getSchema() возвращает имя текущей схемы или null, если их нет.
Это означает, что нет схемы (я думаю, что имя схемы совпадает с именем базы данных), связанное с conn? Может ли кто-нибудь предложить, если я прав в своем ожидании, а также подскажут, почему нет схемы или null, связанных с conn?
public class ConnectDB {
private Connection establishConnection() throws SQLException {
Connection conn = null;
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test_final1", "root", "password");
System.out.println("Connection made!");
System.out.println("Schema Name:"+conn.getSchema()+"\n");
} catch (SQLException sqle) {
System.err.println("SQL Exception thrown while making connection");
printSQLException(sqle);
}
return conn;
}
public static void main(String[] args) {
ConnectDB cdb= new ConnectDB();
Connection myconn=null;
try{
myconn=cdb.establishConnection();
if(myconn!=null) System.out.println("Successfully connected to " + myconn.getSchema());
}catch (SQLException e) {
ConnectDB.printSQLException(e);
} catch (Exception e) {
e.printStackTrace(System.err);
} finally {
ConnectDB.closeConnection(myconn);
}
}
Этот вопрос не является дубликатом. Другой вопрос о Android, очень о драйвере JTD (я не использовал это). Я отправляю этот комментарий для разъяснения, так как у меня есть комментарий, говорящий, что это дубликат, который был удален после моего объяснения. – Solace
Где код, в который вы загрузили «MYSQL Driver» –
Люди! Проблема заключается не в получении соединения «null», а в отношении возвращаемого значения «null» от выполнения метода «Connection # getSchema». –