• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Access转Sql Server问题 实例说明

    发布者: 娅水9213 | 发布时间: 2025-6-19 07:22| 查看数: 117| 评论数: 0|帖子模式

    今天帮同学改一个老的系统作为毕业设计,这系统技术绝对落后asp+access。为了应付老师的验收,然后这同学编程又不是很好,而其到了最后时刻才想到开始做毕设,于是找到了我。

    我看了他不知从哪里搞来的代码,跑了下,还行能跑,过两天就要验收程序了,把asp改成 asp.net是没时间了,于是我提议改下数据库算了,于是决定把access转成sql server。看似一个公司的产品,转起来问题到一大堆。现总结如下,

    先说怎么转移数据,打开sqlserver的企业管理器,建立张表,然后右击那张表,点导入数据,然后选中数据源(我这里就是access的mdb文件),一路next,基本没什么问题,数据就这样导好了,但问题没那么简单,sql server和access的机制有很大的不同

    1,由于SQL2000里面没有自动编号,所以你的以自动编号设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的标示选择是,种子为1,增量为1,

    2,另外,ACCESS2000转换成SQL2000后,原来属性为是/否的字段将被转换成非空的bit,这时候你必须修改成自己想要的属性了;

    3,另外,大家要注意对时间函数的把握.ACCESS与SQL是有很多不同的.

    ACCESS转MS SQL数据库的几点经验

    1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!

    2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。

    3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:delete * from user where id=10,而对SQL SERVER数据库进行删除是用:delete user where id=10.

    4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。

    5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。
    来源:https://www.jb51.net/article/18562.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表