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

MSSQL
深入介绍:SQL Server变更管理工具
SQL Server日志文件总结及充满处理方式
sql查询like操作数剖析
Windows 2003不太喜欢SQL Server2000
教您 SQL SERVER 2005 同步复制技术
深入浅出SQL教程之子查询语句
简单谈基于SQL SERVER 分页存储过程的演进
深入浅出SQL教程之SELECT语句中的表连接
安装SQL Server 2000的错误及解决
为增强安全性 SQL Server加密备份
在SQL Server中为安全依从性记录日志
深入浅出SQL系列教程之基本SELECT命令
SQL Sever中有关DATALENGTH的用法
SQL Server数据库性能优化技术
SQL Server基本函数详细介绍
SQL Server中数据仓库的构建与分析
sql2005的xml字段类型在.net中的应用
SQL注入奇致胜 Union查询轻松看电影
SQL Server 2005与DB2 8.2对比分析
SQL Server 连接中四种最常见错误

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 54 ::
收藏到网摘: 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语法,并且要不厌其烦得插入默认值,而不要依赖数据库提供默认值,这样做,对以后的改进可能会有好处。