我正在尝试在我的C#winforms应用程序中将某些Access表从一个数据库复制到另一个数据库。
提供的解决方案here有效,但是存在不复制列属性的缺陷。例如,我有一个Access表,其中一个字符串列的允许零长度设置为false。复制表时,结构和数据都会出现,但允许零长度变为true。对于许多表的许多列,许多类似的实例都是这样的。
这是我一直在使用的方法:
SELECT c.*
INTO Contacts
FROM Contacts AS c
IN 'C:\MyDB.mdb'
它运行正常,但我只获取结构和数据,而不是列属性。
我已经将这个DAO dll用于其他一些事情了,如果我知道如何,我很乐意将它用于此:
这个TransferDatabase() doc看起来非常有前途,但我无法弄清楚如何获得神奇的 DoCmd 的实例/句柄。他们从未提及如何创建该对象,它似乎总是存在。我已经添加了对dll的引用,我也有这个Using语句:
using Microsoft.Office.Interop.Access.Dao;
但我找不到任何方法来创建DoCmd对象,也找不到TransferDatabase()函数。
总而言之,将Access表从一个DB复制到另一个DB的最佳方法是什么,包括所有结构,数据,约束,属性,索引等等... c#winforms应用程序中的所有内容?提前谢谢。