开发者常常以Access作为原型或者用Access来开发不是很关键的应用程序。但是,随着公司业务的增长,要解决的问题会变得越来越复杂,Access环境可能无法满足需要。目前,Access 2002的.mdb和.adp文件都将一个数据库的长度限制在2 GB以内。这意味着几乎每个Access和SQL Server开发者最终都要将一个Access数据库升迁成一个SQL Server数据库。
由于升迁已成为极为常见的一个任务,所以Access配套提供了一个“升迁向导”。它虽然能完成这个工作,但操作过程并不简单。SQL Server与Access的几处不兼容的地方是该向导无法处理的。你或许不知道,SQL Server的“数据转换服务”(Data Transformation Services,DTS)也能升迁一个Access数据库。下面让我们比较这两个向导,并体验如何使用DTS来升迁一个实际Access数据库。这样一来,你在遇到一个升迁任务时,就能选择最有效的方式。
比较Access升迁向导和DTS
Access升迁向导(AUW)在Access内部工作,能将数据拷贝到SQL Server表。相反,DTS将来自一个Access数据库的数据拷贝到SQL Server表中。注意,你可将数据从一个文本文件或者一个OLE DB数据源(其中自然包括Access数据库)导入SQL Server。导入文件的同时,还能对数据进行转换。
DTS的功能非常齐全,有的开发者认为它比AUW强得多,理由是:
可在导入数据时更改列(字段)属性。
在导入期间创建查询,限制实际导入的数据。
但AUW也有DTS不具备的一个优点,那就是它能将一个Access前端链接到SQL Server数据。DTS则不然,它只能导入数据,你不能将导入的数据链接到一个现有的前端。
使用DTS导入/导出向导
可采取几种方式来执行DTS:
在Windows【开始】菜单中,选择【Microsoft SQL Server】,再选择【导入和导出数据】。
运行企业管理器,连接到想导入数据的一个特定的服务器和数据库,然后从【工具】菜单中选择【数据转换服务】|【导入数据】。在一个现有的数据库中导入数据时,可使用这个选项。
在企业管理器中,连接到要导入数据的服务器,再右击【数据转换服务】节点。选择【所有任务】|【导入数据】。向导最开始会显示一个提示性屏幕。请单击【下一步】开始操作。
指定数据源
升迁Access的第一步是指定数据源以及包含了待导入数据的实际文件。在本例中,请选择Microsoft Access作为数据源,再找到Northwind.mdb数据库(Access配套提供的示范数据库)。它通常在以下文件夹中:
LocalDrive:\Program Files\Microsoft Office\Office10\Samples
注意,你可对任意Access数据库进行升迁。升迁不会对实际的.mdb文件及其数据产生任何影响。
如图A所示,本例不要求你输入密码和用户名。但是,在操作一个安全数据库时,则可能必须管理管理员用户名和密码。换言之,在操作这种数据库之前,你必须获得管理权限。请单击【下一步】继续。
图A
指定数据源和文件。如果操作的是安全数据库,还需要输入管理员用户名和密码相反,如果使用的是AUW,它首先会要求你选择新建一个SQL Server数据库,或者选择将SQL Server数据链接到一个Access前端。如前所述,DTS没有提供链接选项。