T'sFactoryシリーズはAccessのみで動作するアプリケーションですが、データ量が増大したときやユーザー数が増えたときなどは、データの保存先すなわちテーブルだけをSQL
Serverに移行することによって、それらの課題のいくつかを解決することができます。
ここでは、Access上のテーブルをSQL Serverに移行する基本的な手順について説明します。
なお、この作業はSQL Server側の設定などに依存することも多いため、下記のような前提条件の下、最低限の手順だけを示しています。
- 実際に動いているSQL Serverの名称、Windows認証やSQL Server認証等の設定、ユーザーのアクセス権限など、SQL Server側の各種設定も必要です。
- SQL ServerのバージョンとAccessのバージョンによっては、手順通りにできないことがあります(SQL Serverの方がバージョンが高い場合など)。
- メインメニュー画面のリンク設定の機能は使えなくなります。
- テーブルの移行については下記手順で完了でき、SQL Serverからのデータの読み込みやデータの保存ができるようになります。しかし実際の動作においては、AccessとSQL
servcerの固有の違いによって、アプリケーション・データベース側のカスタマイズが必要になります。たとえば、「クエリに主キーフィールドがないとレコード追加できないので、主キーフィールドを追加するクエリのデザイン変更が必要」、「VBAでSQL文を発行しているような部分では、プログラム上で独自のオプション(引数)指定が必要となる部分がある」などです。
- Accessの特性上、いわゆるクライアントサーバーのモデルになるわけではありません。
- すべてのおいての完全な動作を保証するものではありません。
移行手順においては、大きく分けると2つのステップが必要です。一つめはデータ・データベース「TFctData.mdb」のテーブルのSQL Serverへの移行、二つめはアプリケーション・データベース内のテーブルのリンク先のSQL
Serverへの切り替えです。
■テーブルのSQL Serverへの移行
- 実際に運用で使っているデータ・データベース「TFctData.mdb」をAccessで開きます。
- Accessのメニューより[ツール]-[データベース ユーティリティ]-[アップサイジング ウィザード]を選択します。
- アップサイジング ウィザードが起動したら、各画面で順次条件を指定していきます。多くの場合、アップサイジング ウィザードが示す既定値のまま[次へ]ボタンを押していけば移行できますが、詳細についてはSQL
Server側の設定によっても異なりますので、SQL Serverの管理者に確認の上、設定を行ってください。
ここでのSQL Server名やセキュリティ接続は、SQL Server側の設定によって変わります
テーブルはすべてをエクスポート先として指定します
アップサイジングウィザードレポートのプレビューが表示されたらテーブルの移行は完了です
■リンク先のSQL Serverへの切り替え
- まず、アプリケーション・データベースをAccessで開きます。
※ファイル名はT'sFactoryシリーズのご利用アプリケーションによって異なります。
※Shiftキーを押しながら開く方法で、データベースウィンドウが表示されるように開きます。
- Accessのメニューより[ファイル]-[外部データの取り込み]-[テーブルのリンク]を選択します。
- リンク先のファイルを選ぶ画面が表示されたら、下部の[ファイルの種類]で”ODBCデータベース”を選択します。
- 「データソースの選択」画面が表示されたら、そのまま[新規作成]ボタンをクリックします。
- データソースのドライバの選択画面で、”SQL Server”を選択します。
- 最後に適当な名前を付けてこの設定を保存します。
- 次の画面で、先ほどテーブルを移行したSQL Server名を指定します。
- 順番に設定画面が表示されますので、順次指定を行い、[次へ]ボタンをクリックしていきます。
- SQL Server上のテーブル一覧が表示されたら、そのアプリケーションで使っているすべてのテーブルを選択して[OK]ボタンをクリックします。
※途中、「固有レコードの識別子の選択」画面が表示されたら、”DataVersion”を選択して[OK]ボタンをクリックします。
- 下図のように、これまであったAccessのテーブルとSQL Server上のテーブルがデータベースウィンドウに表示されたら、SQL Serverのテーブルとのリンクは完了です。
- このあと、不要となったAccessの”リンクテーブル”を削除するとともに、SQL Serverのテーブル名の名前変更を行い、先頭にある「dbo_」の部分を削除してください。
|