如何在C#中将Access表从一个数据库复制到另一个数据库?

时间:2016-09-08 23:53:56

标签: c# .net ms-access dao

我正在尝试在我的C#winforms应用程序中将某些Access表从一个数据库复制到另一个数据库。

提供的解决方案here有效,但是存在不复制列属性的缺陷。例如,我有一个Access表,其中一个字符串列的允许零长度设置为false。复制表时,结构和数据都会出现,但允许零长度变为true。对于许多表的许多列,许多类似的实例都是这样的。

这是我一直在使用的方法:

SELECT c.*
INTO Contacts 
FROM Contacts AS c
IN 'C:\MyDB.mdb'

它运行正常,但我只获取结构和数据,而不是列属性。

我已经将这个DAO dll用于其他一些事情了,如果我知道如何,我很乐意将它用于此:

enter image description here

这个TransferDatabase() doc看起来非常有前途,但我无法弄清楚如何获得神奇的 DoCmd 的实例/句柄。他们从未提及如何创建该对象,它似乎总是存在。我已经添加了对dll的引用,我也有这个Using语句:

using Microsoft.Office.Interop.Access.Dao;

但我找不到任何方法来创建DoCmd对象,也找不到TransferDatabase()函数。

总而言之,将Access表从一个DB复制到另一个DB的最佳方法是什么,包括所有结构,数据,约束,属性,索引等等... c#winforms应用程序中的所有内容?提前谢谢。

0 个答案:

没有答案