SQL Server データベースにリンクしたり、データをインポートしたりできます。 詳細については、「SQL Server 2016」を参照してください。
- データにリンクすると、Access によって、Access と SQL Server データベース間の変更を同期する双方向接続が作成されます。
- データをインポートすると、データの 1 回限りのコピーが作成されます。 Access または SQL Server データベースの変更は同期されません。
始める前に
プロセスがスムーズに進むのを助けるために、リンクまたはインポートする前に次の準備を行います。
- SQL Server データベース サーバー名を見つけ、必要な接続情報を特定し、認証方法 (Windows またはSQL Server) を選択します。 認証方法の詳細については、「 サーバーへの接続 (データベース エンジン)」 および「データベース のセキュリティ保護」を参照してください。
- リンクまたはインポートするテーブルまたはビュー、およびリンクされたテーブルの一意の値のフィールドを特定します。 一度の操作で複数のテーブルまたはビューをリンクまたはインポートすることができます。
- 各テーブルまたは各ビューの列数を考慮します。 Access では、テーブル内の 255 個を超えるフィールドがサポートされていないため、最初の 255 列のみがリンクまたはインポートされます。 回避策として、SQL Server データベースにビューを作成して、制限を超えて列にアクセスできます。
- インポートするデータの総量を決定します。 Access データベースの最大サイズは、2 GB からシステム オブジェクトに必要な領域を引いた大きさです。 SQL Server データベースに大きなテーブルが含まれている場合、すべてを 1 つの Access データベースにインポートすることはできません。 この場合、インポートする代わりにデータへリンクすることを検討してください。
- 信頼できる場所と Access データベース パスワードを使用して、Access データベースとそれに含まれる接続情報を保護します。 これは、Access に SQL Server のパスワードを保存する場合に特に重要です。
- 追加のリレーションシップを作成することを計画します。 Access では、インポート操作の最後に、関連するテーブル間のリレーションシップが自動的に作成されません。 [リレーションシップ] ウィンドウを使用すると、新しいテーブルと既存のテーブル間のリレーションシップを手動で作成することができます。 詳細については、「リレーションシップ ウィンドウとは」と「リレーションシップを作成、編集、または削除する」を参照してください。
ステージ 1:はじめに
[外部データ>新しいデータ ソース>From Database>From SQL Server] を選択します。
[外部データの取り込み - ODBC データベース] ダイアログ ボックスで、次のいずれかの操作を行います。
- データをインポートするには、[ ソース データを現在のデータベース内の新しいテーブルにインポートする] を選択します。
- データをリンクするには、[リンク テーブルを作成してソース データにリンクする] をクリックします。
[OK] をクリックします。
ステージ 2:DSN ファイルを作成または再利用する
DSN (データ ソース名) ファイルを作成することも、既存のファイルを再利用することもできます。 別のリンクおよびインポート操作に同じ接続情報を再利用する場合、または DSN ファイルも使用する別のアプリでその情報を共有する場合は、DSN ファイルを使用します。 DSN ファイルは、データ 接続マネージャーを使用して直接作成できます。 詳細については、「ODBC データ ソースを管理する」を参照してください。
以前のバージョンの SQL ODBC ドライバーは引き続き使用できますが、バージョン 13.1 には多くの機能強化が含まれており、新しい SQL Server 2016 機能がサポートされているため、バージョン 13.1 をお勧めします。 詳細については、「Microsoft ODBC Driver for SQL Server on Windows」を参照してください。
次のいずれかの操作を行います。
使用する DSN ファイルが既に存在する場合は、リストから選びます。
接続情報に入力した認証方法に応じて、再度パスワードを入力する必要がある場合があります。
新しい DNS ファイルを作成するには:
[新規作成] を選びます。
[ODBC Driver 13 for SQL Server] を選択し、[次へ] を選択します。
DSN ファイルの名前を入力するか、[ 参照 ] を選択して別の場所にファイルを作成します。
[ 次へ ] を選択して概要情報を確認し、[完了] を選択 します。
ステージ 3:[SQL Server に接続するための新規データ ソースを作成する] を使用する
[SQL Server に接続するための新規データ ソースを作成する] ウィザードで、次の操作します。
1 ページ目で、識別情報を入力します。
- [ 説明 ] ボックスに、DSN ファイルに関する説明情報を入力できます。
- [サーバー] ボックスに、SQL Server データベースの名前を入力します。 下向き矢印は選択しないでください。
2 ページ目では、以下の認証方法のいずれかを選択します。
- 統合Windows 認証: Windows ユーザー アカウント経由で接続します。 サービス プリンシパル名 (SPN) を入力することもできます。 詳細については、「 クライアント接続 (ODBC)」の「サービス プリンシパル名 (SPN)」を参照してください。
- SQL Server認証を使用します。..: データベースに設定されているログイン ID とパスワードを入力して接続します。
ページ 3 と 4 で、接続用にカスタマイズするオプションを選択します。 これらのオプションの詳細については、「Microsoft ODBC Driver for SQL Server」を参照してください。
設定を確認する画面が表示されます。 [ テスト データ ソース] を選択して、接続を確認します。
データベースにログインすることが必要な場合があります。 [ログインのSQL Server] ダイアログ ボックスで、ログイン ID とパスワードを入力します。 その他の設定を変更するには、[オプション] を選択します。
ステージ 4: リンクまたはインポートするテーブルとビューを選択する
[ テーブルのリンク または オブジェクトのインポート ] ダイアログ ボックスの [ テーブル] で、リンクまたはインポートする各テーブルまたはビューを選択し、[ OK] を選択します。
リンク操作で、[パスワードを保存] を選択するかどうかを決定します。
このオプションを選択すると、Access を開いてデータにアクセスするたびに資格情報を入力する必要はありません。 ただし、暗号化されていないパスワードは Access データベースに格納されます。 ソース コンテンツにアクセスできるユーザーはだれでも、ユーザー名とパスワードを確認できます。 このオプションを選択する場合、信頼できる場所に Access データベースを保存し、Access データベース パスワードを作成することを強くお勧めします。 詳細については、「データベースを信頼するかどうか決定する」と「データベース パスワードを使用してデータベースを暗号化する」を参照してください。
パスワードを保存せず、後で考えを変えた場合は、リンク テーブルを削除して再作成し、[ パスワードの保存] を選択する必要があります。
ステージ 5:定義およびタスクを作成する (インポートのみ)
- [外部データの取り込み - ODBC データベース] ダイアログ ボックスで、インポート手順を定義として保存し、Outlook タスクを作成して定期的にインポート操作を実施するように自動化します。 詳細については、「インポートやエクスポートの操作の詳細を定義として保存する」を参照してください。
結果
リンク操作またはインポート操作が完了すると、SQL Server テーブルまたはビューと同じ名前のテーブルがナビゲーション ウィンドウに表示され、所有者名と組み合わされます。 たとえば、SQL 名が dbo.Productされている場合、Access 名は dbo_Product。 その名前が既に使用されている場合、Access は新しいテーブル名 (dbo_Product1 など) に1を追加します。
dbo_Product1も既に使用されている場合は、dbo_Product2が作成されます。 テーブルの名前を、より意味のある名前に変更できます。
インポート操作では、Access はデータベースのテーブルを上書きすることはありません。 SQL Serverデータを既存のテーブルに直接追加することはできませんが、同様のテーブルからデータをインポートした後に追加クエリを作成できます。
リンク操作では、列が SQL Server テーブル内の読み取り専用である場合、Access でも読み取り専用になります。
ヒント
接続文字列を表示するには、ナビゲーション ウィンドウのテーブルの上にマウス ポインターを合わせます。
リンクされたテーブルのデザインを更新する
リンク テーブル内の列の追加、削除、変更、またはデータ型の変更はできません。 設計を変更する場合は、SQL Server データベースで変更します。 Access でデザイン変更を確認するには、リンクされたテーブルを更新します。
- [ 外部データ>リンク テーブル マネージャー] を選択します。
- 更新するリンクされた各テーブルを選択し、[OK] を選択して、[閉じる] を選択します。
データ型を比較する
アクセスとSQL Serverは、一部のデータ型に異なる名前を使用します。 たとえば、bit データ型を使用するSQL Server列は、Yes/No データ型として Access にインポートまたはリンクされます。 詳細については、「Access と SQL Server データ型の比較」を参照してください。
他に必要な情報はありますか?
- インポート定義を後で利用できるように保存する方法の詳細については、「インポートやエクスポートの操作の詳細を定義として保存する」の記事を参照してください。
- 保存済みのインポート定義を実行する方法の詳細については、「保存済みのインポート操作またはエクスポート操作を実行する」の記事を参照してください。
- スケジュールを設定して任意の時刻で実行する方法の詳細については、「インポート操作やエクスポート操作のスケジュールを設定する」を参照してください。
- 定義名の変更、定義の削除、定義のソース ファイル名の更新を行う方法の詳細については、「データ操作を管理する」の記事を参照してください。