MSSQL 转 ACCESS 在表格结构上应注意的
2015-06-17 13:32
337 查看
今天在把一个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
在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
相关文章推荐
- Access,MSSQL:随机读取N条记录
- MSSQL获取当前插入的ID号及在高并发的时候处理方式
- Ubuntu下安装Mysql并使用
- ubuntu: no module named _sqlite
- Centos6.5安装JDK8+tomcat8.0.22+oracle-11g
- oracle官方文档--DBMS_SQLPA
- 再续解密Oracle备份工具-expdp/impdp
- 数据库移植注意事项
- sql分组统计多列值
- Mysql错误集合(逐步增加)
- 利用数据库介质文件创建额外域控制器
- MongoDB副本集配置系列六:定位MongoDB慢的原因
- Mysql计算时间差
- Mysql 5.6 [error] Can't find messagefile '/usr/share/mysql/errmsg.sys'
- [mysql]一次主从数据不一致的问题解决过程
- [mysql]一次主从数据不一致的问题解决过程
- mysql -- 数据库优化
- Oracle常用的命令中如何查看表的结构
- mysqld无法启动问题
- 浅析SQL注入