如何在C#中修改Access数据库的架构?

时间:2010-03-10 20:13:37

标签: c# sql ms-access merge

我这里有一个项目,目标是将多个Access DB合并到一个SQL Server数据库中。 Access数据库中的某些记录是自动编号,并且在所有数据库中都不是唯一的。

我们目前正在努力将这些自动编号字段修改为数字字段。在将所有这些表附加到SQL服务器之前,调整并允许访问级联这些更改。

我知道访问的getSchema(),但是我们可以修改架构以从字段中删除自动编号吗?

如果做不到,有没有人对如何完成我们的任务有任何好的想法?或做过类似的事情?

此致

2 个答案:

答案 0 :(得分:2)

您可以使用DDL:

ALTER TABLE Table1 ALTER COLUMN id long

编辑重新评论

您需要在更改字段类型之前删除关系,但主索引很好:

ALTER TABLE Table2 DROP CONSTRAINT Table1Table2 

可能会在这些行上调用约束,但您可以使用ADOSchemas来获取约束(关系)的名称。

答案 1 :(得分:2)

既然你正在接吻MS-Access再见,为什么不手动编辑表格(右键点击相关的表格和设计)?它可能比编写代码更快。

如果你真的需要以编程方式来做事,那么ADOX是一个相当成熟的API来操作模式对象,它是MS-Access的大部分功能。它是COM,但你可以使用COM互操作。

此页面中隐藏了一些使用ADOX添加列的示例 http://www.codeguru.com/cpp/data/mfc_database/ado/article.php/c4343#_Toc1461080