C# 连接到具有链接表的远程Access 2003数据库

C# 连接到具有链接表的远程Access 2003数据库,c#,ms-access-2003,linked-tables,C#,Ms Access 2003,Linked Tables,我有这样一个场景:我开发了一个C#应用程序,它通过OleDBConnection(engine=Microsoft.Jet.OLEDB.4.0)连接到mdb文件(Access 2003)。此mdb文件在同一目录下的另一个mdb文件中有一些链接表。在本地环境中,一切都可以完美地工作,即使我只连接主mdb文件,查询也会从链接表中检索数据。简化模式可以是: 本地计算机-->C:\mydir\main.mdb-->C:\mydir\linked\u tables.mdb中的我的应用程序 但是这个应用程序

我有这样一个场景:我开发了一个C#应用程序,它通过OleDBConnection(engine=Microsoft.Jet.OLEDB.4.0)连接到mdb文件(Access 2003)。此mdb文件在同一目录下的另一个mdb文件中有一些链接表。在本地环境中,一切都可以完美地工作,即使我只连接主mdb文件,查询也会从链接表中检索数据。简化模式可以是:

本地计算机-->C:\mydir\main.mdb-->C:\mydir\linked\u tables.mdb中的我的应用程序

但是这个应用程序应该在本地网络的一些主机上工作。mdb文件存储在服务器的共享目录中。当应用程序在主机上运行时,我将路径设置为:

\\myserver\mydir\main.mdb

连接正常。当我启动一个试图从链接表中获取数据的查询时,就会出现问题。它尝试在C:\mydir\linked_tables.mdb中查找链接表,但此路径位于服务器上,而不是主机上

有没有办法告诉他:如果主mdb文件的路径是\\myserver\mydir\main.mdb,您必须(自动)在\\myserver\mydir\linked\u tables.mdb上获取链接表


谢谢

我通过另一个连接解决了问题。我的意思是:对于每个mdb文件,我使用不同的OLEDB连接

OleDbConnection MainConn = new OleDbConnection("\\myserver\mydir\main.mdb");
OleDbConnection LinkedTablesConn = new OleDbConnection("\\myserver\mydir\linked_tables.mdb");
虽然不那么优雅,但很管用。如果我必须对位于不同数据库中的表进行一些连接,我将使用一些通用集合对象来管理它们