首先,参考资料,搜索关键字 access sql,找到 http://access911.net/fixhtm/79FAB41E14DC.htm
上面这篇文章,写得够详细了。
我就是按照这个转的。
我是这样做的,先将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'
ADODB.Recordset 错误 '800a0cb3'
当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。
/Admin/Admin_Article.asp,行17
错误原因:因为SQL版没有先用建库查询文件创建有关表,而是直接将原ACCESS中的数据导入,致使导入的表缺乏主键及索引等
解决方法:从ACCESS数据库中导入数据时,要先执行建库查询文件创建有关表,再导入数据。
解决方法:从ACCESS数据库中导入数据时,要先执行建库查询文件创建有关表,再导入数据。
============
后来我做的事情就是,在企业管理器中给每张表的主键加那个钥匙图标(让它真正成为主键,还好我只有71张表),然后再次“生成sql脚本”,注意生成脚本的时候,在选项中找到 生成主键 索引之类的一个选项,勾选上,以供以后使用,而不需要再次设置主键。
接下来就是将原ACCESS中的数据导入,然后就是调试asp程序了。其他的请看网上的参考资料,比我说的详细多了。