前回の残タスク
- 別のPCからのDBへの接続
- SQL Server BrowserServiceを使用した接続
に早速挑戦。
別のPCからのDBへの接続
MSサイトでは別のPCにもManagement Studioをインストールしてあることが
前提となっている。
でも別のPCではMSSQLもManagement Studioもインストールしていないし
今後も利用するつもりがない。
Microsoft SQL Server
↑ ↓
↑ ↓
Microsoft Access
な感じで基本Accessで更新追加を行うつもり。
で、AccessとMSSQLは同じMicrosoftとは言っても
互換性があるわけではない。
ODBCというAPIが必要。
ODBCってなんやねんという場合はここのサイト様がわかりやすく
噛み砕いている。
- AccessからMSSQLへ接続するためのツール。
- ODBCにMSSQLのサーバー情報を設定するとAccessからもデータを触れる。
私みたいな素人軍団が難しいこと考えずに設定できる便利ツール。
これがあればデータが触れるということは、接続確認にも使えるはず。
ODBC設定
ということで接続確認のためにODBC接続の設定を行う。
ODBC側でMSSQLの設定を保存しておくことで
ODBC設定を意識しなくてもAccess→MSSQL接続ができるらしい。
コントロールパネル
└管理ツール
└データ ソース (ODBC)
が入っていたので、このショートカットをダブルクリックで開く。
ODBCデータソースアドミニストレーターが開くので、
ユーザーDSNの追加をクリック。
データソースの新規作成画面が開く。
Microsoft SQL Serverの設定を保存したいので、SQL Serverを選択して
完了をクリック。
SQL Serverに接続するためのデータソースを作成する画面が開くので
名前と説明は自分がわかりやすいものを適当にセットして良さげ。
サーバーはちゃんと指定しないと駄目っぽい。
ManagementStudio起動で調べた【表示されている名前のルール】の①が
サーバー名っぽかったので、これを今回はセットして次へ。
ログインIDの権限画面が表示される。
ネットワークへのログインIDで、WindowsNTの認証メカニズムを使う??
ユーザーが入力するSQL Server用のログインIDとパスワードを使う??
ネットワークへのログインID何それ。
そんなもの設定していない。
とりあえずどっちがいいのか色々先生に確認したら、有用な情報が出てきた。
SQL-ServerのWindows認証にMicrosoftアカウントで接続できません。
⇒ドメインを構成してない環境で、クライアントPCからサーバー上の
SQLに接続しようとしているということででしょうか? だとしたら不可能です。
はっきりと不可能と言っていただけていて、とても助かる。
ドメイン構成とか、わからないので今回はWindows認証は諦める。
ってことは、
SQL Server用のログインIDとパスワードを設定すれば接続できそう。
SQL Server Express にリモート接続を参考にさせていただき、
サーバー側でsaアカウントを有効に設定。
これでODBC設定に戻って、
- ユーザーが入力するSQL Server用のログインIDとパスワードを使う
を選択し、
- SQL Server に接続して追加の構成オプションの既定設定を取得する
のチェックボックスをONにして、sa認証で設定したログインIDとパスワードを
入力して次へ。
次へを押してもサクッと画面が遷移しない。
????
って思っていたらエラーメッセージ発生。
すんなり次の画面に行くこともあるけれど、
どうやらTCP/IPの設定かサーバー名のどちらかが間違っているときに
発生するメッセージみたい。
sa認証を設定した画面にクライアントの設定ボタンがあるのでクリック。
ネットワークライブラリ設定の編集画面が開く。
ここでTCP/IPのポートを動的に決定するチェックボックスをOFFにして
ポート番号1433を設定してOK。
これでスムーズに次の画面に遷移するようになる。
既定のデータベースを以下のものに変更するのチェックボックスをON。
以前作成したデータベース【Tigers】を選択して次へ。
この画面では何も変更せずに完了。
以下の設定でデータソース作成しますという画面が表示するので
画面左下のデータソースのテストをクリック。
テストは無事に完了しました。と表示されればODBC設定は完了。
ODBC設定がうまくいったということは
これで別のPCで設定したMSSQLとAccessが繋がるということに!
別のPCから接続できた。感動。
でも、この設定はあくまでローカルネットワーク上のPC同士の接続。
怖がってファイアウォールのプロファイルをプライベートにしてしまったので
別のネットワークからはまだ繋げない。
別のネットワークでもいけるのか?を次回は検証!!





































