当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

将Access数据库移植到Microsoft SQL Server 7.0[MSSQL防范]

赞助商链接



  本文“将Access数据库移植到Microsoft SQL Server 7.0[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
择要:本文描写了将Access数据库转换到sql server 数据库的历程和工具

简介

随着用户关于企业级高性能数据库的需求的增长,用户经常要从Microsoft Access Jet引擎的文件-服务器环境下转换到
Microsoft SQL Server的客户-服务器环境.Microsoft office 2000中的Access 2000 Upsizing Wizard可实现将数据表和
查询转移到SQL Server 7.0中.假如您用的是Access的较早的版本,您可以先将它进级为Access 2000,然后再利用此中的
Upsizing Wizard,从而将您的利用移植到SQL Server中.

假如您并不太乐意采取Access 2000 和Upsizing Wizard来实现移植,本文可以作为将Access 2000移植到SQL Server的一
个指南.转移一个Access上的利用首先需求将数据转移到SQL Server,然后将查询转移进数据库,或是转移为SQL文件以备
稍后履行.最后要采纳的步骤是移植利用程序.

数据库移植顶用到的SQL Server 工具

SQL Server管理器(SQL Server Enterprise Manager)

SQL Server管理器 答应对SQL Server以及SQL Server中的对象举行企业级的配置和管理.SQL Server管理器供应一个强有
力的scheduling引擎,高度的容错力和一个嵌入式的复制管理界面.利用SQL Server管理器可以实现以下功效:

管理衔接和用户答应

成立脚本程序

管理SQL Server对象的备份

备份数据和事件处理日记

管理表、视图、存储历程、触发器、索引、法则、默许值以及用户定义的数据范例

成立全文本索引、数据库图表和数据库保护筹划

输入和输出数据

转换数据

履行各种网络管理任务

在以Microsoft Windows NT为操作系统的计算机中,SQL Server Manager由SQL Server Setup举行安装,并被默许为服务
器组件,而在运行着Windows NT 和Microsoft Windows 95的机械上,它将被默许为客户方组件.您将从SQL Server
Manager的图形用户界面中启动数据转移服务(DTS,Data Transformation Services).

数据转移服务(Data Transformation Services ,DTS)

数据转移服务答应您在多种异构数据源之间输入和输出数据,这些数据源采取基于数据库的OLE体系构造;或在利用SQL
Server 7.0的多个计算机之间转移数据库和数据库对象;您还可以通过应用数据转移服务,更便捷地在一个在线事件处理
系统(OLTP)中成立数据仓库和数据中央.

DTS Wizard答应您交互地成立DTS包,通过OLE DB和ODBC来输入、输出、考证和转移数据.DTS Wizard还答应您在关系型数
据库之间拷贝图解(schema)和数据.

SQL Server 查询解析器(Query Analyzer)

SQL Server 查询解析器是一种图形化的查询工具,通过它您可以解析一个查询,同时履行多个查询,查看数据和获得索引
倡议.SQL Server 查询解析器供应了showplan选项,可用来显示SQL Server查询优化器所挑选的数据提取办法.

SQL Server Profiler

SQL Server Profiler可以及时地捕捉数据库服务器活动的持续记录.SQL Server Profiler答应您监控SQL Server产生的
事件,过滤基于用户指定尺度的事件,或将操作步骤输出到屏幕、文件或数据表.应用SQL Server Profiler,您可以重新
履行所捕捉的上一次操作.这种工具可以帮忙利用程序开辟者辨认那些大概会降低利用程序性能的事件处理.在将一个基
于文件体系构造的利用程序移植到客户/服务器构造中时该特点是很有效的,因为它的最后一步包含对面向新的客户/服务
器环境的利用程序举行优化.

转移表和数据

利用DTS Wizard将您的Access数据转移到SQL Server,可采纳以下步骤:

在 SQL Server Manager(Enterprise Manager)的工具菜单中,鼠标指向"Data Transformation Services", 然后点击
"Import Data."

在"挑选数据源"( Choose a Data Source)的对话窗口中,挑选Microsoft Access为数据源,然后输入您的.mdb文件
名(mdb为文件扩大名)大概挑选浏览文件.

在"挑选数据目标"(Choose a Destination)的对话窗口中,挑选"Microsoft OLE DB Provider for SQL Server",
再挑选好数据库服务器,然后点击所需的认证情势.

在"指定表备份或查询"( Specify Table Copy or Query)的对话窗口中,点击"拷贝表"(Copy tables).

在"挑选数据源"的对话窗口中,点击"挑选全部项"( Select All).

移植Microsoft Access查询

您可以将Access的查询以下面的格局之一转移至SQL Server中:

事件处理SQL脚本程序(Transact-SQL scripts )

事件处理SQL语句普通是由数据库程序调用的,但是您也可以利用SQL Server 7.0中包含的SQL Server 查询解析器直接运
行它们.SQL Server 查询解析器可帮忙开辟者测试事件处理SQL语句,或运行那些履行查询处理、数据操作(插入,修
改,删除)和数据定义(成立表)的事件处理SQL语句.

存储历程(Stored procedures )

开辟者可以将大部份产生自Access查询(查找,插入,改正,删除)的事件处理SQL语句转移至存储历程.用事件处理SQL
语句书写的存储历程可以用来对您的数据存取打包,并使之尺度化,并且存储历程实际上是存储在数据库中的.存储历程
可以带参数,也可不带参数,可以由数据库程序调用大概由SQL Server查询解析器手动履行.

视图(Views )

视图是从一个或多个表中显示特定的行和列的虚拟表.它们答应用户可以不直接履行构成查询底子的复杂衔接而成立查
询.视图不支持参数的利用.衔接多个数据表的视图不能用INSERT, UPDATE或 DELETE语句来改正.视图由事件处理SQL语
句调用,也可用于SQL Server查询解析器中运行的程序段.SQL Server视图和SQL-92尺度不支持视图中的ORDER BY排序子
句.如欲理解事件处理SQL,存储历程和视图的其他信息,请参阅SQL Server 在线参考书.

Access查询范例的SQL Server移植挑选与倡议

一个SELECT语句可以存储在事件处理SQL文件、存储历程或是视图中.成立存储历程是将数据库利用开辟与数据库计划的物
理实施脱离的最佳办法.存储历程可在一处成立而由利用程序调用.

假如存储历程所基于的数据库改变了,而存储历程经过细心的改正以反映这些改变,则对存储历程的调用将不会遭到破
坏.

穿插表(CROSSTAB)

穿插表常常用于总结报表.

一个Access的穿插表可以通过SQL程序段、存储历程或视图中的事件处理SQL语句来履行.每当发出一个查询时,数据衔接
被重现履行以确保近来的数据得到利用.

按照实际利用情形,对比符合的办法是将穿插表中的数据存储为一个暂时表(参考下面的MAKE TABLE),暂时表对资源的
需求对比少,但是暂时表在成立的同时只供应对数据的一个快照(snapshot).

成立表(MAKE TABLE)

Access中的"MAKE TABLE"( 成立表)可以通过事件处理SQL脚本程序或存储历程中的事件处理SQL语言的建表语句
"CREATE TABLE"来履行.语法以下所示:

SELECT [ ALL | DISTINCT ]

[ {TOP integer | TOP integer PERCENT} [ WITH TIES] ]

<select_list>

[ INTO new_table ]

[ FROM {<table_source>} [,…n] ]

[ WHERE <search_condition> ]

[ GROUP BY [ALL] group_by_expression [,…n]

[ WITH { CUBE | ROLLUP } ]

CREATE TABLE mytable (low int, high int)

UPDATE(改正)

UPDATE语句可以存储在事件_SQL脚本程序中,但是对比好地履行UPDATE语句的办法是成立一个存储历程.

APPEND(增添)

ALLEND语句可以存储在事件_SQL脚本程序中,但是对比好地履行APPEND语句的办法是成立一个存储历程.

移植Microsoft Access的查询到存储历程和视图

每个Access查询都必须用以下的一系列语句替换:

CREATE PROCEDURE <NAME_HERE> AS

< SELECT, UPDATE, DELETE, INSERT, CREATE TABLE statement from Microsoft Access >

GO

CREATE VIEW <NAME_HERE> AS

<Place (SELECT only, with no parameters) Microsoft Access Query>

GO

对每个Access查询应履行:

翻开Access,然后在SQL Server中,翻开SQL Server查询解析器.

在Access的数据库窗口中点击"Queries"tab键,然后点击"Design"按钮.

在"View"菜单上点击"SQL"按钮.

将整个查询粘贴到SQL Server查询解析器中.

测试语法,保存事件处理SQL语句以备后用,大概在数据库中履行这些语句.您可以挑选将事件处理SQL语句保存到一段脚
本程序中.

移植Microsoft Access查询到事件处理SQL语句

大部份的Access查询应当转换成存储历程和视图.但是,有一些利用程序开辟者不太常用的语句可以存储为事件处理SQL脚
本,一种以sql为文件扩大名的文本文件. 这些文件可以在SQL Server查询解析器中运行.

假如您打算将一些Access查询转换为sql文件的话,可以考虑按照它们利用的方法有辨别地将这些事件处理SQL语句辨别放
在几个脚本程序中.比方,您可以将必须以一样频率运行的事件处理SQL语句归类到同一个脚本中.另一个脚本中则应包含
全部只在某些条件下运行的事件处理SQL语句.此外,必须以一定次序履行的事件处理SQL语句该当归类到一个不持续的脚
本中.

将Access语句转移到事件处理SQL 文件

将语句拷贝到SQL Server查询解析器中

利用蓝色的多选项图标解析语句

在得当时刻履行该语句

要履行Access中的成立表(MAKE TABLE)的查询任务的开辟者在SQL Server中有几种挑选.开辟者可成立下列对象之一:

一个视图

视图具有动态的虚拟表的效果,可供应近来的信息.这是一个输入/输出强化器,因为每当发出一个查询时它都要求对数据
表重现成立衔接.

一个暂时表

暂时表为已衔接的用户会话成立一个快照.您可以成立部分的或全局的暂时表.部分暂时表只在当前会话中可见,而全局
暂时表则在全部会话都是可见的.在部分暂时表的名字前加上单个数字的前缀((#table_name)),而在全局暂时表的名字
前加上两位数字的前缀(##table_name).对暂时表的查询履行起来非常快,因为它们获得一个后果集的时刻普通只用一个
表,而不是将多个表动态地衔接在一同来.

如欲理解暂时表的其他信息,请参阅SQL Server在线参考书.

SQL Server 7.0中的数据转换服务(DTS)答应您通过成立包来实现暂时表成立的尺度化、自动化和进度安置.比方,当您
移植Access 2.0中的Northwind 典范数据库时,用于季度数据报表的穿插表可改变成一个视图大概一个可在标准底子上建
立暂时表的数据转换.如欲理解关于DTS的其他信息,请参阅SQL Server在线参考书.

其他计划上的考虑

下面是当您将您的Access利用移植到SQL Server时必须考虑的一些其他问题:

利用参数

带参数的SQL Server存储历程需求一种差别于Access查询的语法格局,比方:

Access 2.0格局:

查询名:Employee Sales By Country, in NWIND.mdb:

PARAMETERS [Beginning Date] DateTime, [Ending Date] DateTime;

SELECT Orders.[Order ID], [Last Name] & ", " & [First Name] AS Salesperson, Employees.Country, Orders.
[Shipped Date], [Order Subtotals].Subtotal AS [Sale Amount]

FROM Employees INNER JOIN (Orders INNER JOIN [Order Subtotals] ON Orders.[Order ID] = [Order Subtotals].
[Order ID]) ON Employees.将Access数据库移植到Microsoft SQL Server 7.0 = Orders.将Access数据库移植到Microsoft SQL Server 7.0

WHERE (((Orders.[Shipped Date]) Between [Beginning Date] And [Ending Date]))

ORDER BY [Last Name] & ", " & [First Name], Employees.Country, Orders.[Shipped Date];

SQL Server 7.0格局:

CREATE PROCEDURE EMP_SALES_BY_COUNTRY

@BeginningDate datetime,

@EndingDate datetime

AS

SELECT Orders.[Order ID], [Last Name] + ", " + [First Name] AS Salesperson, Employees.Country,

Orders.[Shipped Date], [Order Subtotals].Subtotal AS [Sale Amount]

FROM Employees INNER JOIN (Orders INNER
  以上是“将Access数据库移植到Microsoft SQL Server 7.0[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 若何将Access和Excel导入到Mysql中之一
  • 若何将Access和Excel导入到Mysql中之二
  • 若何将Access和Excel导入到Mysql中之三
  • 将Access数据库移植到Microsoft SQL Server 7.0
  • 将ACCESS转化成SQL2000要注意的问题
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .