【问题标题】:Java With Microsoft Access DatabaseJava 与 Microsoft Access 数据库
【发布时间】:2016-06-28 19:11:49
【问题描述】:

我正在尝试使用带有 java 的 Ucanaccess 库来连接到 Microsoft Access ...

所以我尝试执行这段代码,它工作了....

        String url = "jdbc:ucanaccess:\\C:/Access.ACCDB";
        String query = "select * from [Donations]";
        try
        {   
        java.sql.Connection con =DriverManager.getConnection(url, "","");
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery(query);
        while (rs.next())
        {

        System.out.println("Account No: " + rs.getString(1));
        System.out.println("Surname: " + rs.getString(2));
        System.out.println("First Name: " + rs.getString(3));
        }
        }
        catch(SQLException ex)
        {
        while (ex!=null)
        {
        System.out.println ("SQL Exception: " + ex.getMessage ());
        ex = ex.getNextException();
        }
        }
        catch(java.lang.Exception ex)
        {
        ex.printStackTrace();
        }

让我解释一下我要做什么

我有一个使用 Microsoft Access 数据库的 Asp.Net 网站,同时我需要一个服务器(Java 应用程序)来访问同一个数据库(Microsoft Access),但是当我在线上传数据库以测试服务器是否可以进入数据库并修改连接字符串 ....

这就是它的样子

 String url = "jdbc:ucanaccess://www.filetolink.com/download/?h=eaa4aab688d25e270539868d712961ab&t=1467140283&f=3ca9ad1869;";
            String query = "select * from [Donations]";
            try
            {   
            java.sql.Connection con =DriverManager.getConnection(url, "","");
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            while (rs.next())
            {

            System.out.println("Account No: " + rs.getString(1));
            System.out.println("Surname: " + rs.getString(2));
            System.out.println("First Name: " + rs.getString(3));
            }
            }
            catch(SQLException ex)
            {
            while (ex!=null)
            {
            System.out.println ("SQL Exception: " + ex.getMessage ());
            ex = ex.getNextException();
            }
            }
            catch(java.lang.Exception ex)
            {
            ex.printStackTrace();
            }

我尝试运行代码,但我收到一条错误消息...这里是:

SQL 异常:UCAExc:::3.0.6 给定文件不存在: http:\www.filetolink.com\download\?h=e6dc57e3485defa7c53e1c968a87fb1f&t=1467139906&f=3ca9ad1869

所以我要的是:

1.如何发布带有访问数据库的网站,让服务器和网站都访问数据库? (服务器和网站不在同一台机器或计算机上......)

2.如果我的问题的答案是我不能……那我该怎么办??其他建议?拥有可以被远程服务器(Java 应用程序)和网站(Asp.Net)访问的数据库

【问题讨论】:

    标签: java asp.net database ms-access


    【解决方案1】:

    MS Access 是桌面数据库,而不是服务器数据库管理系统。如果程序想要访问这样的数据库,则数据库文件必须位于本地或网络文件系统上。因此,如果您的两个应用程序在同一个 Intranet 中的不同机器上运行,则将数据库文件放在网络文件系统上将是一个解决方案。

    但是:MS Access 从来没有打算用作 Web 应用程序的后端数据库。您应该使用真正的服务器数据库,例如 MS SQL Server、PostgreSQL 或 MySQL。然后您的应用程序可以通过网络协议访问数据库。从理论上讲,可以将数据库端口打开到 Internet,以便您可以从任何地方进行连接。但出于安全原因,不建议这样做。

    因此,如果您的两个应用程序不在同一个 Intranet 中运行,最好创建一些 Web 服务并让您的其他程序调用这些 Web 服务以获取所需的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      相关资源
      最近更新 更多