![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
初めまして、専門学校で技術の勉強をしている女子です。
ACCESSを使ってVBAでの課題をしている途中で、色々疑問が湧き、調べても解決できなくて、質問させてください(課題とは関係ないので課題を作りたいというわけではないですよ^^;)。
アクセスでカレントプロジェクトをADODBで接続して自データ(テーブル)を持ってくるのは、書籍などでもありますし、規定のコードを書いて実現できるのですが、よく聞く三層クライアントサーバーシステム(基本情報の勉強で知りました)では
【クライアント → サーバー → DB】
のようになっていると思います。例えばSQLSeverへの接続をするには
Set cn = New ADODB.Connection
CN.Provider = "SQLOLEDB"
CN.ConnectionString = "Data Source=111.199.---.+++;" & '←ここなんですが
"Initial Catalog=***;" &
"User ID=***" &
"Password=***"
のように接続するようなのですが、どう解釈すればいいんだろう?と思っています。
・疑問:これだとクライアントからSQLServerへ接続するIPアドレスしか指定していないので、サーバーOSに辿り着かないのでは・・?それともIISが自動でしてくれるのでしょうか?
・疑問:ODBCドライバという接続のしかたも調べましたが、やっぱり"Data Source="の指定を変えるだけで疑問はそのまま残ってしまいます。
自分なりに考えた事を書きたいと思います。
以下のことは私が勘違いや思い込みをしているのではないかと思っています。
なので正してくれる回答があればうれしいです。(ずうずうしくてスミマセン・・)
・何層だろうとサーバOSが、指定されているIPとDBを自動で判断し、このコードで接続できる。サーバOSの設定はDBAに詳しくなろう。
・ではなくて、やっぱりサーバOSへの接続を記述して確立してから、改めてDBへの接続を記述しないとだめ。
・VBAの記述はこれでよし、でもSQLSeverの設定でクライアントの許可をすればいいんだよ。
・同じくVBAはこれでよい、でもサーバOSの設定でクライアントの許可を・・。
など考えています。何か根本的に理解していないことがありそうで、、また色々調べて本やネットをたくさん見ているために情報が整理できずに、間違った考えになっているのでは。と苦しんでいます。
実は先生や周りの友人に聞いても「たぶんそれでいいんじゃない?」とあやふやなんです(ーー;)
そして私自身もIISやサーバOS、DBサーバの理解が足りていない事は実感しています。
現役でコードを書いている方や設定をされているかたにお話しを聞きたくて質問してみました。
面倒でなければ簡単なコードを記述して頂けるとありがたいです!
ちなみに今はマイクロソフト群で勉強していますが、これをクリアしたらこんどはオラクルやMYSQLなどへの接続もしてみたいと思っています(学校に環境があるので^^)。
VISUAL STUDIOを使って(コードはVBですが)DB接続してみても、GUIで簡単にできすぎて、余計に理解ができませんでした。
長くなりましてすみませんでした。
なにかアドバイスや参考になることでも構いませんので、よろしくお願いします。
どんなに長い回答でも必ず読ませて頂きます!むしろ歓迎です!
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
アプリケーションには様々な形態があります。
Webアプリケーションの場合
(1)クライアントが要求をサーバに送る。
(2)サーバはクライアントに応答を返す。
ここで、サーバがDBを操作する必要があり、
しかも同じマシンでない場合はDBサーバへ
接続して操作します。
つまり、クライアント→サーバ→DBサーバ
という感覚です。
クライアント/サーバの場合
クライアントは必要な資源をサーバから取得
します。情報はサーバから供給されますが、
実行するのはクライアント側プロセスです。
例えばAccessでDBサーバ上のテーブルを
参照するなどがその例で、以下の感じです。
クライアント→DBサーバ
いずれにしても、DBを扱う場合はDBサーバに
アクセスする訳です。
>何層だろうとサーバOSが、指定されているIPとDBを自動で判断し
違います。自動で判断できるOSやコンテナは
ありません。必ず相手先アドレス、サービス名、
ユーザID、パスワードなどを記録しています。
例え、WebサーバとDBサーバが同一マシン
だとしても指定が必要です。
>SQLSeverの設定でクライアントの許可をすればいいんだよ
「クライアントの許可」って何でしょう?
先程も言いましたけど、「???→DBサーバ」の
左側は接続可能であれば何でも良いのです。
実際の業務ではプログラム中に定数で接続先を
定義することは絶対にありません。
何故なら、環境が変わって、DBサーバのアドレスや
サービス名が変わることを想定しなければならない
からです。特に開発中のテストDBと本番のDBは
構成は同じでもIPアドレスは違います。
テストの完了したプログラムは1文字(例えコメント)
でも修正できません。
Visual Studio では確かConfigファイルに接続文用の
文字列が記録されてた記憶があります。
プログラムではここの内容を読み出して接続している
はずで、これならConfigを変更するだけで、接続先を
変えられます。
No.1
- 回答日時:
参考で。
業務では、本番環境とテスト環境とあるので、接続先を変えるその都度『ここ』を修正してコンパイルというのは非効率。なのでINIファイルを用意して変数で記述した切替をよくみます。ODBCも同じ感覚。プログラム本体を修正しなくてもいい使い方を考えるのも応用の1つです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- VPN 無料のwifiはなぜ危険性高い? VPN プライベートDNSモードにすれば安全? 2 2022/06/04 18:23
- VPN VPNは設定した方がいいですか? VPNには常時接続するべき? 1 2023/05/25 17:43
- UNIX・Linux ubuntuサーバーを久々に再起動したらネットにつながらなくなった。 1 2022/06/06 16:21
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- その他(インターネット接続・インフラ) テザリングで繋がる Wi-Fiで繋がらない Filezilla FTP 1 2023/05/25 10:31
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- カスタマイズ(車) (続き)初めてカーナビの取付にチャンレジします。アドバイスください。 3 2022/12/10 15:13
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Wi-Fi・無線LAN ホームルータで急にインターネットにつながらなくなる 4 2023/03/25 11:00
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSEでDB接続しようとすると...
-
データベースの選定について 要...
-
型 varchar から型 numeric へ...
-
VBAかSQL?
-
今年亡くなった有名人を一発で...
-
データベースの最適化をマクロ...
-
HPを書き換えたい
-
キャッシュとバッファの違いは?
-
データベース3000が終わり、新...
-
LVMでHDDが壊れた時の対応
-
音楽アルバムのデータベース作成法
-
FDの初期化
-
macのデータベースソフト探して...
-
オラクルのLONG RAW型のテーブ...
-
初心者です。Accessを使って、...
-
データベースの使用例とその技術
-
access2019をダウンロードして...
-
Googleの衛星写真はいつ掲載さ...
-
ファイルメーカーで帳票レイア...
-
JavaとOracle Javaって何が違う...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クエリをキャンセルしたいので...
-
listener.logが肥大化
-
ODBC経由の処理が遅い
-
Oracleで今接続しているセッシ...
-
Access→Oracleデータ参照にはAD...
-
CSEでDB接続しようとすると...
-
クライアントPCからのアクセ...
-
OracleからSQLServer参照時の不...
-
VPNでデータベースに接続した時...
-
利用可能なODP.NETを教えて
-
インターネット経由でデータを...
-
SQLServerの接続設定(ODBC)
-
MySqlへの接続に関して
-
セッション復活の方法
-
ODBCの通信内容の暗号化
-
VPNでの接続速度が異なります。
-
ADO接続でのセッションIDとシリ...
-
MySQL データ ソース (ODBC)接...
-
Pro*Cについて
-
VPN経由の接続でWin98のクライ...
おすすめ情報