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

MSSQL
MS SQL SERVER2005 XML 最佳实践
SQL Server对文件进行全文检索的查询
教你构建SQL Server可管理安全机制
维护SQL Server的交易日志经验总结
SQL SERVER 2005 EXPRESS不能远程连接的问题
SQL Server与Oracle并行访问本质区别
SQL Server数据库优化其索引的小技巧
分析及解决SQLServer死锁问题
用SQL Server为Web浏览器提供图像
SQL Server SQL Agent服务使用小结
SQL Server 存储过程的分页方案比拼
SQL Server数据库中存储引擎深入探讨
四招解决SQL Server对上亿表的排序和join的问题
SQL Server数据库管理员必须掌握的DBCC命令
如何将sql数据库的文件备份到本地?
如何解决Sybase数据库乱码问题详解
SQL Server:SQLServer中最小函数依赖集
小编谈Transact-SQL中的一些命名规范
谈SQL编写规范
浅谈SQL命名与注释规范

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


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