远程连接Access数据库?

时间:2013-05-27 11:17:12

标签: java ms-access jdbc

目前我有一个Java应用程序可以执行我想要的所有操作和限制  它是“它只驻留在它需要工作的本地机器上”。我有远程服务器上的Access数据库,我在远程服务器上安装Java应用程序,使用连接字符串jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=D:\\DATA\\DPPI\\DATA\\DPPI\\DPPIPR01.mdb;连接数据库

它连接到Access数据库并使用它们执行所有业务逻辑。

增强功能(待完成):

  1. 使应用程序联机 - 不是一个大问题。
  2. 远程连接数据库 - 这是唯一的问题。
  3. 如果我在线申请,Access数据库需要通过网络连接(有点像IP或某些网址)。

    问题:

    但经过这个Connect to Access database remotely后,我的要求似乎无法完成。

    如果我能够将数据库上传到在线网络托管服务器并从那里访问数据库,有什么办法吗?如果是,那么我应该如何通过提供包含驱动器号和所有内容的完全限定名称来连接Access数据库以进行连接。

    但是我应该如何进一步继续以便能够远程连接mdb数据库?

    ADO解决方案:

    但在浏览完链接后:
    http://webcheatsheet.com/ASP/access_connection_strings.php,我们似乎可以执行远程访问数据库连接。

    ADO的解决方案如下:

    connectionString =“Provider = MS Remote;远程服务器= http:// your_remote_server_ip;” &放大器; _     “Remote Provider = Microsoft.Jet.OLEDB.4.0; Data Source = c:\ your_database_name.mdb”

    我对如何连接Access数据库感到困惑。


    我脑子里还有一个问题。 我正在使用Type-1 Driver。 Type-4驱动程序是否应支持远程连接?

4 个答案:

答案 0 :(得分:2)

如果您的应用程序是服务器端应用程序(如Web应用程序),而您的服务器操作系统是Windows,那么理论上可以使用您的Access数据库。在这种情况下,Access数据库是您的应用程序的本地数据库。在连接字符串中,您只需使用服务器文件系统中Access数据库的路径即可。

但请记住,Access是一个桌面数据库,不能将其用作服务器数据库。这可能导致性能不佳和系统崩溃。此用例可能存在一些许可问题。

因此,即使有可能将Access与服务器应用程序一起使用,强烈建议使用真实的服务器数据库,如MySQL,MS SQL Server等。即使像Apache Derby或H2这样的嵌入式数据库也更合适。

如果您的应用程序像客户端一样在客户端运行,那么您使用Access的唯一机会就是将其放在网络文件系统上,因此每个客户端都可以看到它。但这只适用于局域网内部。如果你不能把它放在网络文件系统上,那么你必须使用真正的服务器数据库。

答案 1 :(得分:0)

不要将Provider=MS Remote(RDS)用于新开发。以下是MSDN文章

的引用

Microsoft OLE DB Remoting Provider (ADO Service Provider)

  

重要

     

从Windows 8和Windows Server 2012开始,Windows操作系统中不再包含RDS服务器组件(有关详细信息,请参阅Windows 8和Windows Server 2012兼容手册)。将来的Windows版本中将删除RDS客户端组件。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。使用RDS的应用程序应迁移到WCF数据服务。

正如其他人所建议的那样,您应该认真考虑为此特定应用程序使用不同的后端数据库。

答案 2 :(得分:0)

如果我能够调用驻留在包含Microsoft Access数据库的服务器上的另一个Java应用程序,该怎么办?能告诉我是否可以解决这个问题,以便将我的申请分为两部分: 1.联机java应用程序执行两项操作:接受进入的请求并等待响应来自包含Microsoft Access数据库的服务器上运行的另一个应用程序。 2.安装在服务器上的Java应用程序,其中包含Microsoft Access数据库,仅负责连接和返回DTO(数据传输对象) - 或集合中的某种对象。

因此,我希望服务器端程序能够处理与数据库的通信,客户端应用程序将与服务器应用程序进行通信。

如果我这样做,请告诉我。

答案 3 :(得分:0)

可以完成我的流量标记和从服务器排队的流量---到----远程站点---(QOS ..服务质量).....这两个站点将被连接通过VPN方法减少不必要的跳数,这将增加延迟并增加安全性,因此服务器和远程站点在逻辑上就好像它们位于同一网络(LAN)上一样

问候,

Ali Rehan