У меня есть проблема после того, как стараюсь тестировать связь в основание типа SQLite, мой метод связи это у меня есть в так называемом классе nwSQLiteCnct
который является следующим:
public void connect(String url)
{
try
{
connect = DriverManager.getConnection("jdbc:sqlite:" + url);
if (connect!=null)
{
System.out.println("Conectado");
}
}
catch (SQLException ex)
{
System.err.println("No se ha podido conectar a la base de datos\n"+ex.getMessage());
}
}
Параметр url connect
я перемещаю это его с переменной, которую я приношу из одного Propertie
который я читаю следующего способа:
try
{
//Obtiene el archivo propertie
arch = getClass().getResourceAsStream("/data/dbprop.properties");
//Crea una nueva instancia del objeto Propertie prp
prp = new Properties();
//Carga el archivo arch en el nuevo propertie
prp.load(arch);
//Asigna la direccion de la BD guardada en el propertie
DB = prp.getProperty("db");
//Instancia la clase conexion
cnct = new nwSQLiteCnct();
//Se conecta
cnct.connect(DB);
if(cnct != null)
{
JOptionPane.showMessageDialog(null, "La conexion esta funcionando correctamente!", "Correcto!",
JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(null, "No se encuentra el archivo correcto de conexion!", "Error!",
JOptionPane.ERROR_MESSAGE);
}
}
catch(IOException a)
{
System.err.println( a.getClass().getName() + ": " + a.getMessage() );
}
Это все то, что содержит Propertie dbprop.properties
:
db = /Users/soporte02/Desktop/AccessPROTimeNet.db
Моя проблема происходит, в котором, если база данных не в определенном адресе, создается другой равный файл, хотя без какой-либо неразборчивой информации, он следовательно всегда бросал, что эта база данных в правильном адресе, хотя он не ответит в момент делания консультаций. Не, если кто-то мог помогать мне или говорить мне, делаю ли я это правильным способом или есть что-то, в чем я ошибаюсь.
База данных sqlite, - в конце счетов, архив fГ-sico на диске. То, что ты нуждаешься в том, чтобы сделать, состоит в том, чтобы санкционировать, что архив существовал, чтобы открывать ее conexiГіn, иначе бросать ошибку. Основанный на тебе cГіdigo, это harГ - в работу:
DB = prp.getProperty("db");
File baseDeDatosSQLite = new File(DB);
if (!baseDeDatosSQLite.exists()) {
//puedes lanzar otra excepción y un mensaje más apropiado
throw new IOException("Base de datos no existe.");
}
cnct = new nwSQLiteCnct();
//Se conecta
cnct.connect(DB);