*

【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定

公開日: : 最終更新日:2015/01/12 データベース , , , ,

ODBCでAccess2007からSQL Server 2012へ接続する為には
SQL Server 2012側で設定をしなくてはなりません。
Access2007の接続側(Windows7)で、ODBCを作るだけでは接続エラーになってしまいます。
↓の画像の用に作成中に「接続できませんでした。~アクセスが拒否されました。」と表示され
接続エラーとなってしまいます。
ODBC接続エラー
そこで、SQL Server側の設定を行います。
調べてみると SQL Server 2008 Expressでの接続ですが、ありました。
http://www.atmarkit.co.jp/fdotnet/chushin/introwinform_09/introwinform_09_01.html
同様の手順で接続できましたので、メモしておこうと思います。

==================================================
SQL Server 構成マネージャーの設定
==================================================

■SQL Server 2012がインストールされているWindows Server 2012へログインし
Sql Server Configuration Manager(SQL Server 構成マネージャー)を起動し
【SQL Serverのサービス】/【SQL Server Browser】を開始します。
SQL Server Browserサービスの開始
※無効になっている場合は、プロパティを開き、【サービス】タブの開始モードを自動へ変更し、開始する
■SQL Server 構成マネージャーの【SQL Server ネットワーク構成】/【[作成したインスタンス名]のプロトコル】を
選択し、【TCP/IP】を右クリックし、【有効化】します。
SQL Server ネットワークの構成 TCP/IPの有効化
※[作成したインスタンス名]は特に意識せずにインストールした場合は【SQLEXPRESS】となっています。
■SQL Server 構成マネージャーの【SQL Native Client 11.0の構成】/【クライアントプロトコル】を選択し
【TCP/IP】を右クリックし、【有効化】。
004_サーバー側の設定_NativeClient11の構成の有効化
※僕の場合、この項目はデフォルトで有効となっていました。
==================================================
SQL Server認証モードの有効化
==================================================

■SQL Server認証モードの有効化します。
SQL Server Management Studioへのログインし、オブジェクトエクスプローラーの[サーバー名]上で
右クリックし、【プロパティ】を選択します。
Management Studio/オブジェクトエクスプローラーのプロパティ
※僕の場合、
サーバー名:DBSERVER インスタンス:SQLEXPRESS なので、DBSERVER\SQLEXPRESSとなっています。
また、SQL Server Management Studioのインストールについては下記リンクで。
http://itdiary.info/?p=101
■【サーバーのプロパティ】画面でセキュリティを選択し
サーバー認証の【SQL Server 認証モードとWindows 認証モード】をチェックし、【OK】をクリック
SQL Server認証モードの有効化
==================================================
SQL Serverの認証モード用のログイン・ユーザーを作成
==================================================

■オブジェクトエクスプローラーの[サーバー名]/セキュリティ/ログインで右クリックし、
【新しいログイン】を選択。
SQL Server認証モード用のログインユーザー作成
■【ログイン – 新規作成】画面で【ログイン名】(任意)を入力し、【SQL Server 認証】にチェックを入れ、
パスワードを設定し、【OK】をクリック。
SQL Server認証モード用のログインユーザーの設定
※パスワードポリシーがありますので、あまり短いパスワードだとエラーとなってしまいます。
以下のサイトにパスワードポリシーを満たす条件が書いてあります。
http://technet.microsoft.com/ja-jp/library/ms161959.aspx
==================================================
データベースユーザーの作成
==================================================

■オブジェクトエクスプローラーの[サーバー名]/データベース/[対象のデータベース]/セキュリティ/ユーザーを
右クリックし、【新しいユーザー】を選択
データベースセキュリティの設定
■【データベースユーザー – 新規】画面の【全般】で、下記を設定
・ユーザーの種類:ログインを持つSQLユーザー
・ユーザー名:任意
・ログイン名:さきほど作成したログインユーザー
データベースユーザーの新規作成
■【メンバーシップ】を選択し、データベース ロールのメンバーシップで
下記2つをチェックし、【OK】をクリック。
・db_datareader
・db_datawriter
データベースユーザー作成_メンバーシップの設定
※「db_datareader」「db_datawriter」をチェックすることにより
ユーザーにデータベースの読み書きする権限を付与します。
以上で設定は完了です。
==================================================
ログインできるか確認
==================================================

■一度、SQL Server Management Studioを閉じ、再度、起動。
【サーバーへの接続】画面で、下記のように設定し、【接続】をクリック
・認証:【SQL Server 認証】
・ログイン:作成したログインユーザー
・パスワード:ログインユーザーで設定したパスワード
SQL Server 2012 ログイン確認
※この手順を見て実施して頂いた方は【接続】をクリックすると【パスワードの変更】画面表示されます。
設定したパスワードと同じパスワードを再度入力しても問題ありません。
パスワードの変更画面
■↓のようにログインし、適当なテーブルをSELECTし、内容が確認できていれば成功です。
014_サーバー側の設定_ログイン確認_select
次は、Access2007がインストールしてあるWindows7で、今回設定した接続でODBCを作成したいと思います。

Adsense

関連記事

データベース

【SQL Server 2012】テーブル、カラム、主キー、NULL制約、データ型、長さ、INDEXの有無の一括表示

職場のシステムリプレースに伴い、データベースのテーブル(カラム)の一覧が必要になりました。 普

記事を読む

データベース

【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得

前回は、テーブルのレコードをVBAで直接更新(Insert/update/delete) 今回

記事を読む

データベース

【SQL Server 2012】バッチ(コマンドプロンプト)でリストア

バッチ(コマンドプロンプト)を使って、SQL Server 2012のリストアしてみたいと思います。

記事を読む

データベース

【SQL Server 2012】Management Studioを使ったバックアップで面白い機能。

Management Studioを使ったバックアップをかれこれ3年くらいやってるんですが、一つのバ

記事を読む

データベース

【SQL Server】varchar型、nvarchar型の文字数とバイト(byte)数を取得する

varchar型の文字数、バイト(byte)数を取得する方法 SELECT LEN(【文字

記事を読む

データベース

【SQL Server】アンインストール手順

手順としては、http://technet.microsoft.com/ja-jp/library/

記事を読む

データベース

【コマンドプロンプト】完成版!cmdでSQLの結果を変数に取得

以前、 【コマンドプロンプト】cmdでSQLの結果を変数に取得する方法 を書きましたが、

記事を読む

データベース

【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し 前回はVBAから更新S

記事を読む

データベース

【SQL Server 2012】SQLでエクセルをテーブルとして表示させる方法

SQL Management Studioを使用してインポート等は使用せずにSQLのみでテーブルを表

記事を読む

データベース

【SQL Server】データベース作成日時(リストアした日付)を確認する方法

トラブルの調査をするとき、開発用の環境を作成して、調査するのですが… この環境っていつ作成した

記事を読む

Adsense

Comment

  1. […] ← 【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定 【Access2007】ODBCの罠。Windows7のコントロールパネルから作成したODBCがない。 → […]

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

Microsoft Office
【Access】削除クエリの「指定されたテーブルから削除できませんでした。」の対処法

削除クエリで「指定されたテーブルから削除できませんでした。」と ポッ

Microsoft Office
【PowerPoint】表や図形、画像オブジェクトの位置をピッタリ合わせる方法

パワーポイントで、図形や画像等のオブジェクトの細かい位置調整は、 完

データベース
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し

application
【Visual Studio】デバック、ブレークポイントで止まらない。

Visual Studio 2015でVB.netのプログラムをデバッ

データベース
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得

前回は、テーブルのレコードをVBAで直接更新(Insert/updat

→もっと見る

PAGE TOP ↑