自己动手把ACCESS转换到SQLSERVER的方法

在介绍教程之前,我们先来认识一下Access和SQL SERVER两种数据库。

Microsoft Office Access简介

Microsoft Office Access是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程式之一。

Microsoft Office Access缺陷

1,数据库过大时,一般ACCESS数据库达到100M左右的时候性能就会开始下降!(例如:访问人数过多时容易造成IIS假死,过多消耗服务器资源等等)

2,容易出现各种因数据库刷写频率过快而引起的数据库问题。

3,ACCESS数据库安全性比不上其他类型的数据库。

4,ACCESS论坛大了以后就很容易出现数据库方面的问题,当论坛数据库在50M以上,帖子5万左右,在线也在100人左右的时候,你的论坛基本上都在处理数据库上花时间,这个时候很可能就会出现数据库慢的情况。

一般症状是所有涉及数据库的页面,突然运行都慢的出奇(执行时间达到5秒以上甚至几十秒),涉及HTML和纯ASP运算的页面都正常,等过一段时间(约10分钟或更长)以后又突然恢复(我的论坛有时候就会出现这样的问题)。这个时候你可以用一般ASP探针测试一下,如果服务器的运算时间正常,一般就是数据库方面的问题了。

MS SQL SERVER简介

SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。

SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNⅨ操作系统上的应用。

总结:对于大型的数据库,SQL SERVER明显优于ACCESS,一些网站在初期由于各种原因可能使用的是ACCESS数据库,但经过网站的不断发展,ACCESS数据库已经明显无法满足需求,那么ACCESS数据库怎么转换到SQL SERVER呢?请阅读以下教程:

1、必须先安装Microsoft Office Access 2003,和SQL Server2000。

2、把旧的数据库备份,备份完成后,用Access 2003打开MDB数据库,在打开时会出现一个警告,不要理会它(安全警告),按打开键,打开后按工具栏——数据库实用工具——转换数据库——转换为2002-2003格式,把数据库转换成2003格式。

3、转换完成后再用Access 2003打开,打开后按工具栏——数据库实用工具——升迁向导——新建数据库——填写SQL数据库登陆名称、密码和要新建的数据库(准备转成新的数据库),按下一步,按“ 》”键,再按下一步,选取所有选项,再按下一步,选择“不对应用程序作任何改动”,再按完成。

4、打开SQL企业管理器——数据库—选中相应的数据库—右键所有任务—–生成SQL脚本——常规——全部显示——编写全部对象脚本——确定(记住存放的位置)。

5、用记事本打开刚才生成的SQL脚本,在编辑栏——替换——查找内容为“datetime”替换为“smalldatetime”——替换全部;完成后再在编辑栏——替换——查找内容为“nvarchar”替换为“varchar”——替换全部,完成后保存退出。

6、打开SQL企业管理器——数据库——点击这个数据库一下新建的数据库,然后在工具栏——SQL查询分析器——文件——打开——“刚才生成的SQL脚本”——查询——执行,然后关闭窗口。

7、再回到SQL企业管理器——数据库——点击这个数据库一下新建的数据库,然后打开工具栏——数据库转换服务——导入数据——下一步——数据源“Microsoft Access”文件名“为旧的数据库”——下一步——再下一步——从源数据复制表和视图——下一步——全选——下一步——立即运行——下一步——完成。

(0)

相关推荐

  • Access 导入到SQL Server 2005的方法小结

    方法一: 名称:DTS(这个在MSSQL2000里边也有) 操作:在命令提示符窗口中运行 DTSWizard.exe SQL Server 导入和导出向导提供了生成 Microsoft SQL Server 2005 Integration Services (SSIS) 包最简单的方法.SQL Server 导入和导出向导可以访问各种数据源.可以向下列源复制数据或从其中复制数据: ·Microsoft SQL Server ·文本文件 ·Microsoft Office Access ·Mic

  • Access转Sql Server问题 实例说明

    今天帮同学改一个老的系统作为毕业设计,这系统技术绝对落后asp+access.为了应付老师的验收,然后这同学编程又不是很好,而其到了最后时刻才想到开始做毕设,于是找到了我. 我看了他不知从哪里搞来的代码,跑了下,还行能跑,过两天就要验收程序了,把asp改成 asp.net是没时间了,于是我提议改下数据库算了,于是决定把access转成sql server.看似一个公司的产品,转起来问题到一大堆.现总结如下, 先说怎么转移数据,打开sqlserver的企业管理器,建立张表,然后右击那张表,点导入数

  • 在ACCESS和SQL Server下Like 日期类型查询区别

    最近在用ACCESS数据库是遇到的问题总结: 一.在ACCESS中LIKE的用法 Access里like的通配符用法是这样: "?"表示任何单一字符: "*"表示零个或多个字符: "#"表示任何一个数字 所以应该是: select * from databasename where fieldname like '*XX*' 但在SQL SERVER 里是用%表示零个或多个字符 二.如何在ACCESS查询datetime类型字段的日期范围数据 如

  • SQLServer与Access常用SQL函数区别

    SQLServer Access CASE...WHEN... IIF() SUBSTRING() MID() ISNULL() IIF(IS NULL) SELECT *,IIf([State]=1,'√','×') as StateTag FROM Leave order by id desc SELECT IIf([CateID] = 1, "文档"),IIf([CateID] = 2, "视频"),IIf([CateID] = 3, "音频&quo

  • Access和SQL Server里面的SQL语句的不同之处

    我的感觉是,Accees数据库虽然可以称得上是小型的关系型数据库,并且也是使用的结构化查询语言SQL,但它的语法(主要体现在函数上),却类似vbscript的语法,我想,这应该和Access属于Office系列有关,基于它的开发和应用,自然就与VBA扯上关系,因而Access的函数库也就是VBA的函数库,而非SQL函数库.下面,我们来具体看下Access和SQL Server在查询语句的编写上具体的不同. 一.数据类型转换: Access: SELECT '调查'+CStr(Did) as di

  • sqlserver,sqlite,access数据库链接字符串整理

    SqlServer:string connection = "server=32.1.1.48;database=数据库名;user=sa;password=sa2008"; access 2007: //无密码的连接字符串 string conStr = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=E://111.accdb;Persist Security Info=False"; //有密码的连接字符串 str

  • SQL SERVER 与ACCESS、EXCEL的数据转换方法分享

    在Transact-SQL语句中,我们主要使用OpenDataSource函数.OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助.利用下述方法,可以十分容易地实现SQL SERVER.ACCESS.EXCEL数据转换,详细说明如下: 一.SQL SERVER 和ACCESS的数据导入导出 常规的数据导入导出: 使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤: 1在SQL SERVER企业管理器中的Tools(工具)菜单上,选择Data Tra

  • 将Access数据库中数据导入到SQL Server中的详细方法实例

    Default.aspx 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AccessToSQL.aspx.cs" Inherits="AccessToSQL" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

  • SQL 随机查询 包括(sqlserver,mysql,access等)

    SQL Server: Sql代码 复制代码 代码如下: Select TOP N * From TABLE Order By NewID() NewID()函数将创建一个 uniqueidentifier 类型的唯一值.上面的语句实现效果是从Table中随机读取N条记录. Access: Sql代码 复制代码 代码如下: Select TOP N * From TABLE Order By Rnd(ID) Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(U

  • 八步解决ACCESS自动编号问题(将SQL SERVER 2000数据库,转换为ACCESS数据库)

    第一步:打开你的"开始菜单",打开"程序"->SQL server enterprise mananger "企业管理器" 在你要导出的SQL数据库上鼠标右键菜单:所有任务->导出数据 第二步:会出现一个导出向导窗口.选择被导出的数据源,为你刚才所选择的数据库,如果发现不对应自行修改. 第三步:进入导出到目标数据源的选择,这里我们要转成ACCESS的数据库.注意选择数据源类型为"Microsoft Access.点 &quo

  • JavaScript使用ActiveXObject访问Access和SQL Server数据库

    JS操作 Access 数据库 复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript">  <!--  var filePath = location.href.substring(0, location.href.indexOf("实例197.连接Access数据库.html"));    //以当前页面文件为基础,找到文件所在的绝对路径  var path = filePath + "197.mdb"

  • SQL Server数据复制到的Access两步走

    我们今天主要向大家讲述的是把SQL Server数据复制到的Access数据库中的实际操作步骤,把SQL Server数据库中的某些数据复制到的Access数据库中,其表的主要结构是相同的,不要提用openrowset,因为Access文件和SQL Server不在一台机器上. 初步的想法是用两个recordset,一个从SQL取数据,一个往Access里面插入数据 因为表的字段比较多,所以只好用一个循环 while (!m_pRecordset_sql->adoEOF) { m_pRecord

  • SQL Server中的数据复制到的Access中的函数

    初步的想法是用两个recordset,一个从SQL取数据,一个往Access里面插入数据 因为表的字段比较多,所以只好用一个循环 复制代码 代码如下: while (!m_pRecordset_sql->adoEOF) { m_pRecordset_access->AddNew(); for (int i = 0; i < m_pRecordset_sql->Fields->Count; i++) { vValue = m_pRecordset_sql->GetColl

  • asp.net下Oracle,SQL Server,Access万能数据库通用类

    复制代码 代码如下: using System; using System.Collections; using System.Collections.Specialized; using System.Data; using System.Data.SqlClient; using System.Data.OleDb; using System.Data.OracleClient; using System.Configuration; using System.Reflection; nam

  • Sql Server、Access数据排名的实现方法(例如:成绩排名)

    但是,在SQL SERVER 2005 之前,SQL SERVER 2000 并没有提供这个直接的函数供我们使用,同样 ACCESS 也是如此. 下面我们分2种情况,来写出数据排名的实现过程.测试数据如下: 排名后的结果如下: Access 复制代码 代码如下: select name, score, (select iif(isnull(sum(1)), 1, sum(1) + 1) from score_rank where score > a.score) as rank from sco

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

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

随机推荐