Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Msaccess与java的连接_Java_Ms Access 2007 - Fatal编程技术网

Msaccess与java的连接

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与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(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.