当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 将使用Access的论坛迁移到SqLServer中

MSSQL
四种方法在SQL Server数据库中成批导入数据
关于SQL Server数据库备份和恢复特性介绍
SQL Server 2005中数据库镜像的四个问题
SQL Server 2005代理服务应用软件组成
如何巧妙利用SQL Server的EXISTS结构
教你轻松学会SQL Server记录轮班的技巧
解析SQL Server中数据库快照的工作原理
使用SQL2000将现有代码作为Web服务提供
指导:SQL Server无日志恢复数据库
SQL Server 2005 Express混合模式登录设置
检测SQL Server是否有特洛伊木马
分布式DBA:SQL存储过程知识总结
在SQL Server 2008中安装安全审计
SQL Server 2005五个动态管理对象
用SQL Server事件探查器创建跟踪
讲解SQL Server数据库触发器的安全隐患
如何减少SQL Server死锁发生的情况
在SQL Server中使用索引的技巧
在SQL 2005中实现循环每一行做一定的操作
教你用压缩技术给SQL Server备份文件瘦身

MSSQL 中的 将使用Access的论坛迁移到SqLServer中


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 146 ::
收藏到网摘: n/a

 

    利用动网提供的论坛程序创建了一个内部论坛。原来,这个论坛是发布在windows2000的IIS5上的。他的数据库用的是Access。可是,当我将这个论坛迁移到windows2003上以后,发现经常死掉。到网上找了一下,并且咨询了微软的工程师,很多人都认为i这跟他使用Access有关。并且,我想在公司内部网站首页增加一个跑马灯来显示论坛中的新帖子,可是,如果继续用Access的话,访问起来不是那么方便。于是决定迁移到SQl中。

第一步:将数据导入SQL Server
   进到SQL Server企业管理器,新建一个数据库,然后,选择导入数据,选择Access数据库作为导入源,导入所有的数据。
第二步:修改数据表
   通过这种方式建立的数据表,是没有主键和默认值的,参照原来的Access库修改各个表。(这个比较烦,但是一定得做,因为后面的程序中会用到这些默认值)
第三步:修改程序
 
   将站点迁移到相应的服务器,创建新的站点。首先,要改的就是数据库联接.由于Access中的一些函数和SqL中的一些函数不一样,所以,程序会报错,根据程序的报错信息修改相关的地方。这里主要要修改两个地方:

SqL语句中的Now()函数:
在Access中使用Now()函数来获取当前时间,而在SQL Server中用Getdate()函数来获取当前时间。但是,由于原来的程序是采用vb Script写的,VbScript中也采用Now()函数获取当前时间,所以要小心Sql语句中的Datediff函数的第一个参数:

在Access中DateDiff的第一个参数用引号,并且只用一个字母来表示比较的部分,而在SqLServer中不需要引号,并且用全称和或者简称来表示,并且简称也是两个字母的。

改完后逐项测试,改正所有的错误(都挺简单的)。

程序就可以正常使用了,前后时间可能花了4个多小时吧。

我想到以下几点:
     1、如果,我们要使用Access数据库,为了以后迁移方便,我们应该尽量避免使用数据库的函数,而是多用程序语言的函数,在SQL语句的外面解决计算问题。如果,不能避免要使用这些数据库函数,我们也应该在代码中设置明显的注释标记,以便于以后迁移。
    2、我们在设计程序时候,要充分考虑数据库的迁移的需要,在插入语句、查询语句等语句的时候要尽量采用标准的SqL语法,并且要不厌其烦得插入默认值,而不要依赖数据库提供默认值,这样做,对以后的改进可能会有好处。