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

利用动网提供的论坛程序创建了一个内部论坛。原来,这个论坛是发布在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语法,并且要不厌其烦得插入默认值,而不要依赖数据库提供默认值,这样做,对以后的改进可能会有好处。

时间: 2024-11-24 21:35:13

将使用Access的论坛迁移到SqLServer中的相关文章

将ACCESS数据库迁移到SQLSERVER数据库

原文:将ACCESS数据库迁移到SQLSERVER数据库 将ACCESS数据库迁移到SQLSERVER数据库 ACCESS2000文件 用ACCESS2007打开,并迁移到SQLSERVER2005里  打开ACCESS2007的数据库工具 方法一:使用ACCESS2007自带的数据库迁移工具 1.打开ACCESS2007的数据库迁移向导 2.点击SQLSERVER按钮,弹出升迁向导对话框 3.选择新建数据库 4.输入计算机名,我的本地计算机名字叫joe,因为SQLSERVER安装在本地,所以选

将ACCESS数据库迁移到SQLSERVER数据库两种方法(图文详解)_MsSql

ACCESS2000文件 用ACCESS2007打开,并迁移到SQLSERVER2005里  打开ACCESS2007的数据库工具 方法一:使用ACCESS2007自带的数据库迁移工具 1.打开ACCESS2007的数据库迁移向导 2.点击SQLSERVER按钮,弹出升迁向导对话框 3.选择新建数据库 4.输入计算机名,我的本地计算机名字叫joe,因为SQLSERVER安装在本地,所以选择使用可信连接就可以了 数据库名称默认就可以了 5.选择所有表,移动到右边框   6.把表索引也一起升迁到SQ

将ACCESS数据库迁移到SQLSERVER数据库两种方法(图文详解)

ACCESS2000文件 用ACCESS2007打开,并迁移到SQLSERVER2005里 打开ACCESS2007的数据库工具 方法一:使用ACCESS2007自带的数据库迁移工具 1.打开ACCESS2007的数据库迁移向导 2.点击SQLSERVER按钮,弹出升迁向导对话框 3.选择新建数据库 4.输入计算机名,我的本地计算机名字叫joe,因为SQLSERVER安装在本地,所以选择使用可信连接就可以了 数据库名称默认就可以了 5.选择所有表,移动到右边框 6.把表索引也一起升迁到SQLSE

db2导出所有表数据-db2数据迁移至sqlserver问题

问题描述 db2数据迁移至sqlserver问题 想要把db2的数据导出成sql脚本或者其他文件,但是能在sqlserver执行的insert脚本. 目前知道用export del的方法可以导出数据,但是只能导出单张表的数据. 求方法,一次性导出所有表数据 ps: 我好像是新人,没有C币可以悬赏 0.0 解决方案 http://blog.csdn.net/bendanlzh/article/details/4307322

MySQL数据库数据迁移到SQLserver

最近因工作需要,需要将mysql数据库迁移到sqlserver,仅仅是数据迁移,因此相对比较简单.对于mysql迁移到sqlserver,我们需要使用到mysql odbc驱动,然后透过sqlserver链接服务器的方式来访问mysql.具体见下文描述. 一. 迁移环境 源:RHEL 6.5 + MySQL 5.6.26 目标: Windows 7 64 + SQLserver 2014 二.准备迁移环境 1.下载及安装ODBC驱动 http://dev.mysql.com/downloads/

请问谁有asp.net(c#)繁体版本access的论坛原代码

问题描述 请问谁有asp.net(c#)繁体版本access的论坛有原代码的?请联系我QQ:308258255价格合理就购买!

怎么用程序实现在sql Server中按要求选择几个表生成Access数据库,并能把表中的数据也同时生成.

问题描述 怎么用程序实现在sqlServer中按要求选择几个表生成Access数据库,并能把表中的数据也同时生成.

关于sqlserver中部分数据转移到oracle的方案

问题描述 目前需要把sqlserver中的部分数据导入到oracle中,请问有什么好的方案? 情况是: sqlerver和 oracle的 表结构(字段)大部分都差不多,有些表的结构有差异. 而现在需要的就是把sqlserver中 想要的数据迁移到oracle中.数据量大概是几百万左右. 解决方案 去搜索etl工具,网上有很多.以前用过Kettle,出了不少问题,不过还是挺好用的,能解决你的问题,几百万很快就能处理完.每个字段的话也可以做特殊处理解决方案二:我传数据是用Navicat Premi

SQLServer中建立与服务器的连接时出错的解决方案

SQLServer中建立与服务器的连接时出错的解决方案如下: SQLServer中建立与服务器的连接时出错的解决方案如下: 步骤1:在SQLServer 实例上启用远程连接 1.指向"开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器" 2.在"SQL Server 2005 外围应用配置器"页, 单击"服务和连接的外围应用配置器" 3.然后单击展开&qu