gpt4 book ai didi

c# - ADO.NET 创建链接表的方法

转载 作者:行者123 更新时间:2023-11-30 12:15:26 24 4
gpt4 key购买 nike

我正在编写一个使用 ADO.NET OLEDB 提供程序的应用程序。数据库是Access。大多数数据库交互是通过 DDL/DML SQL 查询。

我现在需要创建链接表,但似乎没有一种方法可以单独使用 ADO.NET 来完成。既不是在简单的 DDL 查询中,也不是试图直接操作 Access 系统表。

我试图避免使用 ADOX,在我的应用程序中使用额外的引用/依赖项。有人知道解决这个问题的方法吗?非常感谢。

以下是我目前使用 ADOX 创建链接表的方式。

using ADOX;

public static void CreateLinkedTable(string sourceDB, string sourceTable, string targetDB, string targetTable)
{
Catalog cat = new Catalog();
cat.let_ActiveConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + targetDB);
Table table = new Table();
table.Name = targetTable;
table.let_ParentCatalog(cat);
table.Properties["Jet OLEDB:Create Link"].Value = true;
table.Properties["Jet OLEDB:Link Datasource"].Value = sourceDB;
table.Properties["Jet OLEDB:Remote Table Name"].Value = sourceTable;
cat.Tables.Append(table);
}

最佳答案

没有办法绕过额外的依赖。链接表是 MS ACCESS 的一个特性,ADO.NET 不知道如何做你想让它做的事情。 Access 必须通过它接受的 SQL 命令来公开它,但它没有,它通过 VBA 公开到它的程度。因此,您可以从 Access DB 内部控制它,但不能从外部控制它 -- 通过 ADO.NET 连接,您所能做的就是发出它知道如何解释的 SQL 语句。

关于c# - ADO.NET 创建链接表的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7461414/

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