SQL Server データベースのインポートまたは SQL Server データベースへのリンク

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

SQL Server データベースにリンクしたり、データベースからデータをインポートしたりすることができます。 詳細については、SQL Server 2016 を参照してください。

  • データにリンクすると、Access と SQL Server データベースの間で変更を同期する双方向の接続が作成されます。
  • データをインポートすると、Access によってデータのコピーが 1 回限り作成されます。 Access または SQL Server データベースの変更は同期されません。

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:はじめに

  1. [外部データ]>新しいデータ ソース>データベースから>SQL Serverから] を選択します。

  2. [外部データの取り込み - ODBC データベース] ダイアログ ボックスで、次のいずれかの操作を行います。

    • データをインポートするには、[ 現在のデータベースの新しいテーブルにソース データをインポートする] を選択します。
    • データをリンクするには、[リンク テーブルを作成してソース データにリンクする] をクリックします。
  3. [OK] をクリックします。

ステージ 2:DSN ファイルを作成または再利用する

DSN (データ ソース名) ファイルを作成することも、既存のファイルを再利用することもできます。 同じ接続情報を異なるリンク操作やインポート操作に再利用する場合や、同じく DSN ファイルを使用する別のアプリとその情報を共有する場合は、DSN ファイルを使用します。 データ接続マネージャーを使用して、DSN ファイルを直接作成できます。 詳細については、「ODBC データ ソースを管理する」を参照してください。

以前のバージョンの SQL ODBC ドライバーを引き続き使用できますが、多くの改善が含まれており、新しい SQL Server 2016 機能をサポートするバージョン 13.1 をお勧めします。 詳細については、「Microsoft ODBC Driver for SQL Server on Windows」を参照してください。

  1. 次のいずれかの操作を行います。

    • 使用する DSN ファイルが既に存在する場合は、リストから選びます。

      [データ ソースの選択] ダイアログ ボックス

      接続情報に入力した認証方法に応じて、再度パスワードを入力する必要がある場合があります。

    • 新しい DNS ファイルを作成するには:

      1. [新規作成] を選びます。

        [新しいデータ ソースの作成] ダイアログ ボックス

      2. [ODBC Driver 13 for SQL Server] を選択し、[次へ] を選択します。

      3. DSN ファイルの名前を入力するか、[ 参照] を選択して別の場所にファイルを作成します。

  2. [ 次へ ] を選択して概要情報を確認し、[ 完了] を選択します。

ステージ 3:[SQL Server に接続するための新規データ ソースを作成する] を使用する

[SQL Server に接続するための新規データ ソースを作成する] ウィザードで、次の操作します。

  1. 1 ページ目で、識別情報を入力します。

    • [ 説明 ] ボックスには、DSN ファイルに関する詳細を入力できます。
    • [サーバー] ボックスに、SQL Server データベースの名前を入力します。 下矢印を選択しないでください。
  2. 2 ページ目では、以下の認証方法のいずれかを選択します。

  3. 3 ページ目と 4 ページ目で、接続のカスタマイズに必要なオプションを選択します。 これらのオプションの詳細については、「Microsoft ODBC Driver for SQL Server」を参照してください。

  4. 設定を確認する画面が表示されます。 [ データ ソースのテスト ] を選択して接続を確認します。

  5. データベースへのログインが必要な場合があります。 [SQL Server ログイン] ダイアログ ボックスで、ログイン ID とパスワードを入力します。 その他の設定を変更するには、[オプション] を選択します。

  1. [テーブルの リンク または オブジェクトのインポート ] ダイアログ ボックスの [テーブル] で、リンクまたはインポートする各テーブルまたはビューを選択し、[ OK] を選択します。

    リンクまたはインポートするテーブルのリスト

  2. リンク操作で、[パスワードを保存] を選択するかどうかを決定します。

    このオプションを選択すると、Access を開いてデータにアクセスするたびに資格情報を入力する必要はありません。 ただし、Access データベースには、暗号化されていないパスワードが格納されます。 ソース コンテンツにアクセスできるすべてのユーザーが、ユーザー名とパスワードを見ることができます。 このオプションを選択する場合、信頼できる場所に Access データベースを保存し、Access データベース パスワードを作成することを強くお勧めします。 詳細については、「データベースを信頼するかどうか決定する」と「データベース パスワードを使用してデータベースを暗号化する」を参照してください。

    パスワードを保存しないことにして、後で気が変わった場合は、リンク テーブルを削除して再作成し、[ パスワードの保存] を選択する必要があります。

ステージ 5:定義およびタスクを作成する (インポートのみ)

結果

リンクまたはインポート操作が完了すると、SQL Server テーブルまたはビューと所有者名を組み合わせたのと同じ名前でテーブルがナビゲーション ウィンドウに表示されます。 たとえば、SQL 名が dbo.Product の場合、Access 名は dbo_Product になります。 その名前が既に使用されている場合は、新しいテーブル名に dbo_Product1 などの1が追加されます。 dbo_Product1 も既に使用されている場合は、dbo_Product2 などが作成されます。 テーブルの名前をよりわかりやすい名前に変更できます。

インポート操作では、Access はデータベースのテーブルを上書きすることはありません。 既存のテーブルに SQL Server データを直接追加することはできませんが、類似のテーブルからデータをインポートした後で追加クエリを作成することができます。

リンク操作では、列が SQL Server テーブルで読み取り専用である場合、Access でも読み取り専用になります。

ヒント

接続文字列を表示するには、ナビゲーション ウィンドウのテーブルの上にマウス ポインターを置きます。

リンクされたテーブルのデザインを更新する

リンク テーブル内で列を追加、削除、修正したり、データ型を変更したりすることはできません。 デザインの変更を行う場合は、SQL Server データベースで変更します。 Access でデザイン変更を確認するには、リンクされたテーブルを更新します。

  1. [ 外部データ>リンク テーブル マネージャー] を選択します。
  2. 更新するリンクされた各テーブルを選択し、[OK] を選択して、[閉じる] を選択します。

データ型を比較する

Access と SQL Server では、一部のデータ型に対して異なる名前を使用します。 たとえば、bit データ型を使用するSQL Server列は、Yes/No データ型として Access にインポートまたはリンクされます。 詳細については、「Access と SQL Server のデータ型の比較」を参照してください。

他に必要な情報はありますか?

先頭に戻る