Msaccess与java的连接
我正在尝试将java与ms access连接,我发现以下错误Msaccess与java的连接,java,ms-access-2007,Java,Ms Access 2007,我正在尝试将java与ms access连接,我发现以下错误 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at msaccesssample.sample.main(sample.java:11)
这是我的java代码
package msaccesssample;
import java.sql.*;
public class sample {
public static void main(String[] args)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:satish");
Statement st = con.createStatement();
ResultSet rs=st.executeQuery("select * from sample");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
实际上,我创建了satish作为DSN,并将数据库名称添加为test.accdb。这个问题在论坛中已经被问了很多次,但我不知道是驱动程序问题还是编程问题。我的系统是64位windows 8,odbc是32位。我无法获得64位的ms access驱动程序。有没有办法在64位中加载ms access驱动程序比特 您正在使用JDBC ODBC桥驱动程序,它是Java运行时的一部分。你能试试这个简单的测试,做一个理智的测试吗 这将为您提供以下输出:
C:\>javac LoadJdbcOdbcDriver.java
C:\>java LoadJdbcOdbcDriver
JDBC-ODBC driver loaded ok.
如果您再次得到ClassNotFound,这意味着rt.jar不在您的路径中。检查您的JAVA_主页和路径,检查rt.jar是否可用。您是否使用odbc连接器尝试了可能的重复项?是的,我收到了相同的错误请检查dns是否正确创建?dsn是否正确创建我的路径中是否存在DRT.jar您是否获得了上述输出?如果没有,请告诉我们您的JAVA_主目录和路径内容否我没有得到输出,但我的系统是64位的windows 8,odbc是32位的。我无法获得64位的ms access驱动程序。有没有办法加载64位的ms access驱动程序??????
C:\>javac LoadJdbcOdbcDriver.java
C:\>java LoadJdbcOdbcDriver
JDBC-ODBC driver loaded ok.