Конструкторы - это особый тип методов. Всякий раз, когда в памяти создается новый объект, этот метод вызывается автоматически. Кроме того, у конструктора нет возвращаемого типа, тогда как другие методы имеют возвращаемый тип.
Причина 5 (не распространяется на отличное объяснение Gord)
Ошибка пользователя. Например, попытка использовать драйвер ACE для чтения того, что он не предназначен для обработки (например, файла Excel), который был прочитайте с драйвером Jet ODBC в более ранней версии функции. Даже если сообщение неопределенно, оно правильно ломает ошибку в открытое время, а не после того, как вы считаете, что открытие было успешным. : /
try
{
String conUrl = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + filepath;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection(conUrl);
}
catch(SQLException s)
{
System.out.println(s);
}
Я думаю, эта ссылка может помочь вам http://java2carrer.blogspot.in/2013/06/insert-data-into-ms-access-from-excel.html
В этом случае вам нужно указать весь путь к вашему db-файлу доступа. И в указанном ниже URL-адресе обязательное пространство между двумя расширениями (* .mdb, * .accdb)
, например:
String database="C:/Users/GIRI/Desktop/fdsfkdsfj/abc.accdb";
String url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + database + ";DriverID=22;READONLY=true";
Причина 6 (в противном случае не распространяется) Забыв изменить имя файла, которое вы пытаетесь открыть, после того, как вы изменили имя файла. т. е. пытаться открыть несуществующий файл.
Пожалуйста, попробуйте этот код. Я попробовал его на win 7 ultimate 64 bit с офисом 2013 64bit
package dbase.dbconnection;
import java.sql.*;
public class MSAccessDbConnect {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String password = "";
String dbName = "D:/maven_ejb_train/DATA/EmpTest.accdb";
String bd = dbName; // + ";PWD=" + password;
String connURL = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="
+ dbName;
System.out.println("connURL ===== " + connURL);
String sql2 = "select * from Employees ";
Connection conn = DriverManager.getConnection(connURL, "", "");
System.out.println("aaa 111");
ResultSet rs = conn.createStatement().executeQuery(sql2);
System.out.println("aaa 222");
while (rs.next()) {
System.out.println("Name: " + rs.getString("EMP_NA") + " ID: "
+ rs.getString("EMP_NO"));
}
rs.close();
conn.close();
}
}