0

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

我在本地机器上的应用程序 --> C:\mydir\main.mdb --> C:\mydir\linked_tables.mdb

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

\\myserver\mydir\main.mdb

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

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

谢谢

4

1 回答 1

0

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

OleDbConnection MainConn = new OleDbConnection("\\myserver\mydir\main.mdb");
OleDbConnection LinkedTablesConn = new OleDbConnection("\\myserver\mydir\linked_tables.mdb");

不是那么优雅,但它确实有效。如果我必须对位于不同数据库中的表进行一些连接,我会使用一些通用集合对象来管理它们。

于 2013-11-12T20:31:06.087 回答