MSSQL 转 ACCESS 在表格结构上应注意的

时间:2023-12-31 21:44:38

今天在把一个MSSQL数据库转为ACCESS发现了一些问题:

在MSSQL表格中的一个(标识)递增字段转到ACCESS后,变成了 “数字”类型,而不是“自动编号”。

而当在Access中,一个字段类型定义为“数字”,同时已存在记录的时候,这个字段无法再修改为“自动编号”。

当时没办法,只好先把所有的表中所有的记录全删除,然后一个一个修改字段ID的类型为“自动编号”。

修改好后,再执行一次从MSSQL数据导出到Access。

这个时候,表面上看数据导入成功。

但在接下来的Access记录增加时,发生错误:“自动编号的字段不能出现重复记录。”

怎么会这样呢?

我检查了一下,原来在MSSQL的people表中有这样的一些记录:

id  name  ....
------------------------

1  张三

3  李四

4  王五

说明这个表中有些记录被删除了。

当我把数据导入到Access后,再对这个Access新增一条记录后,得到的id(自动编号)竟然是 4

也就是讲,从MSSQL导出数据到ACCESS的时候,就算我按照之前的操作,把“自动编号”类型的数据导入到Access中后,还是存在这个递增(因数)问题。

最后我也找到了一个比较简单的解决方案

我又新建了一个Access数据库,然后把原来的Access中的每一个表点右键,导出到这个新建的Access数据库中。

然后再对这个新建成的Access数据库进行增加记录的时候,就成功增加了,正常了。

2011-03-09