1

我需要将 Access 数据库迁移到 SQL Server 2005。由于这需要在设置中完成,以便客户的安装透明地迁移到 SQL Server 2005,我想知道是否可以自动化 Microsoft 的 SSMA 工具包。

4

2 回答 2

1

据我所知,这种自动化是不可用的。但是您仍然可以生成创建数据库的 SQL 代码(以“CREATE DATABASE”语句开头的代码)并通过 SQL 服务器上的用户界面启动它。

要生成此代码,您可以

  1. 使用 Access 工具包创建 access 数据库
  2. 使用(例如)SQL Server Management Studio 生成相应的“CREATE DATABASE”SQL 代码(右键单击数据库,选择“script database as CREATE”。EMS SQL Studio 为 SQL Server Management Studio 提供了一个非常好的替代方案
  3. 保存代码以供进一步使用

使用 EMS Studio,您甚至可以决定此代码是否也更新数据。但我更喜欢通过代码自动传输数据:例如,您可以浏览表(以正确的顺序,取决于关系),打开记录集(一个本地,一个 SQL),并通过浏览字段来传输数据(您可以甚至不需要命名它们),代码如下:

(localRecordset links to local table. can be DAO or ADODB; Adjust code accordingly)
(sqlRecordset links to the SQL server. can be DAO or ADODB; Adjust code accordingly)

localRecordset.moveFirst

Do while not localRecordset.EOF
    sqlRecordset.addnew
    For each field in localrecordset.fields
        sqlRecordset.fields(field.name).value = field.value
    Next field
    sqlRecordset.update
    localRecordset.moveNext
Loop
于 2008-10-20T13:33:35.543 回答
1

Actually SSMA had command-line interface (special console executable in the SSMA installation folder). It was available at some time but I'm not sure whether it made its way to last release. You should ping SSMA support about what versions had it and what examples of its usages are available. I hope this will help you.

于 2008-12-10T14:04:13.790 回答