欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

将access转为sql server的经历

程序员文章站 2022-05-31 22:28:16
...

首先,参考资料,搜索关键字access sql,找到 http://access911.net/fixhtm/79FAB41E14DC.htm 新手来看:Access转SQL Server要注意些什么? 上面这篇文章,写得够详细了。 我就是按照这个转的。 我是这样做的,先将access数据库导入到sql中,然后在你建立的

首先,参考资料,搜索关键字 access sql,找到 http://access911.net/fixhtm/79FAB41E14DC.htm

新手来看:Access转SQL Server要注意些什么?

上面这篇文章,写得够详细了。

我就是按照这个转的。

我是这样做的,先将access数据库导入到sql中,然后在你建立的数据库上点右键,找到生成sql脚本,生成脚本之后,比如a.sql,将它用文本编辑器打开,查找替换,将 [int] NOT NULL, 之类的全部替换成 [int] IDENTIFY (1,1) NOT NULL, 之所以替换这个,因为这个之前的肯定是你的非空主键,所以这样替换。然后将smalldatetime 全部替换 datetime 。

然后在查询分析器中,分析和执行上面的a.sql,这样数据库当然空了(先别急,还可以再次从access导入数据,不过现在不忙干这个)

这样是否就行了呢,我在用的时候遇到一个问题就是明明是

rs.open sql,conn,1,3

的语句(我用的是asp),结果还出现ADODB.Recordset 错误 '800a0cb3'

当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。(我的服务器显示的还是英文,晕)

在网上找了找,有下面的解决办法,我试过了,可行

=-==============

错误提示:(SQL版)
ADODB.Recordset 错误 '800a0cb3'

当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。

/Admin/Admin_Article.asp,行17

错误原因:因为SQL版没有先用建库查询文件创建有关表,而是直接将原ACCESS中的数据导入,致使导入的表缺乏主键及索引等
解决方法:从ACCESS数据库中导入数据时,要先执行建库查询文件创建有关表,再导入数据。

============

后来我做的事情就是,在企业管理器中给每张表的主键加那个钥匙图标(让它真正成为主键,还好我只有71张表),然后再次“生成sql脚本”,注意生成脚本的时候,在选项中找到 生成主键 索引之类的一个选项,勾选上,以供以后使用,而不需要再次设置主键。

接下来就是将原ACCESS中的数据导入,然后就是调试asp程序了。其他的请看网上的参考资料,比我说的详细多了。