gpt4 book ai didi

asp.net - 跨多个 Access 数据库的内部连接

转载 作者:行者123 更新时间:2023-12-01 07:17:04 26 4
gpt4 key购买 nike

我正在重新设计一个我真的不喜欢的 ASP.NET CMS 应用程序。我对性能进行了一些改进,结果发现不仅这个 CMS 使用 MS SQL,而且一些用户“只是”使用 MS Access 数据库。

问题是我有一些内部连接的表,MS Access 版本在两个不同的文件中。我不能简单地将表移动到另一个 mdb 文件。

我现在想找出一种跨多个 Access 数据库文件“内部连接”的好方法?

如果我已经获取所有数据并以编程方式进行操作,那真的很遗憾!

谢谢

最佳答案

您根本不需要链接表。有两种方法可以使用来自不同 MDB 的数据,这些数据无需链接表即可使用。第一种是在 SQL 的 FROM 子句中使用“IN 'c:\MyDBs\Access.mdb'”。您保存的查询之一是这样的:

SELECT MyTable.*
FROM MyTable IN 'c:\MyDBs\Access.mdb'

另一个保存的查询将是:
SELECT OtherTable.*
FROM OtherTable IN 'c:\MyDBs\Other.mdb'

然后您可以保存这些查询,然后使用保存的查询连接两个表。

或者,您可以通过在 FROM 子句中为每个表指定源 MDB 的路径,从而在单个 SQL 语句中管理所有这些:
SELECT MyTable.ID, OtherTable.OtherField
FROM [c:\MyDBs\Access.mdb].MyTable
INNER JOIN [c:\MyDBs\Other.mdb].OtherTable ON MyTable.ID = OtherTable.ID

不过请记住一件事:

Jet 查询优化器不一定能够将这些表中的索引用于连接(是否将它们用于单个字段的条件是另一个问题),因此这可能非常慢(在我的测试中,它不是,但我没有使用大数据集来测试)。但该性能问题也适用于链接表。

关于asp.net - 跨多个 Access 数据库的内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/117558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com