【Access】不真面目にシステム開発を考える2~データベースの準備~
サーバにデータベースを用意する
自分で梅干し漬けようか迷っているjimです。どうも✋
梅干し好きなんだよねぇ。。
はい。ってことで、今回はサーバにデータベースを用意します。
WEBアプリならば、、
サーバにプログラムを置きます。そのプログラムをサーバが実行しサーバ内のDBにアクセスします。なので、ユーザーがサーバのプログラムにアクセスできるようにポートを開放します。ユーザーが直接DBにアクセスするわけではないので、データベースアクセス権限みたいなことはプログラムで行います。
しかし、今回はデスクトップアプリなので、、
各ユーザーの端末にプログラムを置きます。そのプログラムが動き各ユーザーの端末からサーバのDBにアクセスします。なので、サーバのDBにアクセスできるようにポート開放をします。そうなると、各端末でSQLを書けば好きなようにデータを取り出せてしまうので、データベースアクセス権限はDBMSで設定します。
SQLServerをインストール
今回はAccessシステムにするので同じMicrosoftのSQLServerをサーバにインストールする。
正確に言えば、SQLServerとマネジメントシステムをインストールします。
インストールは簡単だと思います。
ログインして一つtestというDBを作成しCREATE TABLE文を実行。
他端末からSQLSeverにアクセスできるようにする
確か面倒だったんだよなコレ。。。
Windowsのグループを作って、SQLServerでWindows認証の新しいログインを作成する時にそのグループを指定する。
そうすればグループごとにアクセス権限をコントロールできる。。。
なんだけど、WindowsHomeはグループ作れないっぽい。
本当はWindows認証とSQLServer認証を使い分けるのがいいのでしょうが、今回は他端末のログイン用にSQLServer認証のログインユーザーを作ることにする。
別端末からSQLServerを使えるようにするには、下記3点の設定を行う。。。
では、早速やっていきやしょう。
1、ログインユーザーの作成
他端末からアクセスするためのログインユーザーを作成します。
今回はSQLServer認証のログインを作るが、Windowsグループを作ってWindows認証のグループログインを作成しておけばWindowsグループでアクセス権限をコントロールできる。
↓SQLServerのセキュリティからログインで右クリックし『新しいログイン』
↓全般から適当なログイン名を入力し『SQLServer認証』を選択し適当なパスワードを入力(他端末からアクセスする時のログイン名とパスワード)
↓次にユーザーマッピングからデータベースの権限を付与し(このログイン名でアクセスできるデータベースを選択)db_ownerにチェックを入れOK
↓いや、もう少し権限をあたえておきましょうか
これでログインユーザーが作成できました。
権限を付与したデータベースを開いて、直下にあるセキュリティを開くとユーザーに作成したユーザー名が表示されていると思います。
2、SQLServerの設定
そしたら次はSQLServerのマネジメントと構成マネージャーの設定をします。
↓SQLServerのプロパティ
↓セキュリティからサーバー認証を『SQLServer認証とWindows認証』を選択
↓次に接続のリモートサーバー接続の『このサーバーへのリモートを許可する』を選択をOK
これでSQLServerでやることは終わり。
次は構成マネージャーの設定。
↓スタートメニューのMSSにある『SQLServer構成マネージャー』を選択
↓SQLServerネットワークの構成にMMSQLSERVERのプロトコルがある場合『名前付きパイプ』を無効・『TCP/IP』を有効にする(IPアドレスの『IPALL』にあるTCPポートを1433にしておく)
↓SQLServerネットワークの構成にSQLEXPRESSのプロトコルがある場合『名前付きパイプ』を有効・『TCP/IP』を無効にする
↓最後にSALserverのサービスにあるSQLServerを右クリックしコンテキストから再起動を選択(MMSQLSERVER・SQLEXPRESS)しSQLServerBrowserの開始モードが自動になっていることを確認しておく
これでSQLServerの設定は終わり。
3、ファイアウォールの設定
最後にファイアウォールの設定。
↓タスクバーにある『^』からWindowsセキュリティを開き『ファイアウォールとネットワーク保護』の詳細設定を選択
↓『受信の規則』を選択し『新しい規則』を選択
↓規則の種類を『ポート』にする
↓プロトコルおよびポートは『TCP』を選択し特定のローカルポートを構成マネージャーで設定したポートにする(1433)
↓操作は『接続を許可する』
↓プロファイルは全選択
↓適当な名前を付けて完了
これで終わり。
長かったねぇ。長かったよぉ。
他端末にSQLServerのマネジメントをインストールしSQLServer認証でアクセスできればOK。
出来ないのならファイアウォール自体を切ってみる。それで繋がればファイアウォールが悪い。繋がらなければSQLServerか構成マネージャーかログインユーザーの作り方をミスってます。
んなわけで、データベースを用意するところまで終わりました。
ここまでは何の言語でシステム作るにしても一緒かな。
次回はAccessでメインメニューを作成します。
したら、またね✋
ディスカッション
コメント一覧
まだ、コメントがありません