1

Access データベースを SQL Server 2005 に移行する必要があります。顧客のインストールが SQL Server 2005 に透過的に移行されるようにセットアップ内から行う必要があるため、Microsoft の SSMA ツールキットを自動化できないかと考えています。

4

2 に答える 2

1

実際、SSMAにはコマンドラインインターフェイス(SSMAインストールフォルダーにある特別なコンソール実行可能ファイル)がありました。いつか利用可能になりましたが、最後のリリースに到達したかどうかはわかりません。SSMAサポートにpingを実行して、どのバージョンにそれがあり、どのような使用例が利用できるかを確認する必要があります。これがお役に立てば幸いです。

于 2008-12-10T14:04:13.790 に答える
1

私の知る限り、そのような自動化は利用できません。ただし、データベースを作成する SQL コード ("CREATE DATABASE" 文で始まるコード) を生成し、SQL サーバーのユーザー インターフェイスから起動することは可能です。

このコードを生成するには、次のことができます。

  1. Access ツールキットを使用して Access データベースを作成する
  2. 対応する「CREATE DATABASE」SQL コードを (たとえば) SQL Server Management Studio で生成します (データベースを右クリックし、「script database as CREATE」を選択します。EMS SQL Studio は、SQL Server Management Studio に代わる非常に優れた代替手段を提供します。
  3. 後で使用するためにコードを保存します

EMS Studio を使用すると、このコードでデータも更新するかどうかを決定することもできます。ただし、コードを使用してデータ転送を自動化することをお勧めします。たとえば、テーブルを参照し (リレーションシップに応じて正しい順序で)、レコードセットを開き (ローカルに 1 つ、SQL に 1 つ)、フィールドを参照してデータを転送します (名前を付ける必要さえありません) のようなコードで:

(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 に答える