No.1
- 回答日時:
IISであればASP(Active Server Pages)が使えるので
ADO(ActiveX Data Object)からSQLOLEDBを
使用してSQLServerへ接続します。
詳しくはASP本を読むのが早いでしょう。
Server.CreateObject(ADODB.Connection)
Server.CreateObject(ADODB.Recordset)
ADODB.Connectionを使用して、SQLServerへ接続し、
ADODB.Recordsetを使用してレコードセット(データ)
の取得をします。
のあたりを使用したはず、、、
No.2
- 回答日時:
ASPからデータベースへのアクセスには、ミドルウェアと言うものを使います。
相手のデータベースにもよりますが、SQL Serverなら普通、ADOを使用します。
ADOは非常に汎用的な使い方ができ、データベースのみならず、ファイルなどにもアクセスできます。
多分お問い合わせの内容は、このADOからSQL Serverへの接続方法になると思います。
ADOからSQL Serverへの接続形態は、代表的なもので下の2つがあります。
・ADO-ODBC-ODBCドライバ-SQL Server
・ADO-OLE DB-SQL Server
メリットととしては、上記のとおり、とおるプログラムの数が少ないので、速度の面で有利です。また、ODBCはどのデータベースでも接続できると言うのがメリットですが、そのために特定のデータベースの制御に制限があります。
デメリットとしては、ODBCに比べ歴史が浅いため、バグ(?)の心配や、参考書などの不足があげられます。
ただし、次の.NETで名前は変わるかもしれませんが、流れとしては、MSの主力はODBCからOLE DBへ移っていくのは間違いないと思います
この回答への補足
なるほど、なるほど。
素人なりに、昨日自分でも調べたところ、
ADOを使用すれば、それなりのトランザクション機能持っていると。
でも、ADOのConnectionオブジェクトは一つのデータースしか接続しないから、
複数のデータベースに接続する場合は、それでは不十分だと。
その場合はMicrosoft Transaction Server(MTS)とやらを使えとか書いてありますが、
これがまたよくわかりません。大体、NTじゃなくて2000なので、そのMTS自体見当たらないし。
でもそのMTSとやらで「ページ単位」のトランザクションが可能だとあります。
と、なると、単一DBを使うなら、ADOだけでよくって、複数DBを使うならMTSが必要ってことでしょうか。この認識正しいですか?
で、MTSって何じゃらほい。WIN2000でのそういった複数DBに対するトランザクション機能を
実現するにはどうすればいいのか、
どこかに書いてあったり、本があったりしませんでしょうか。
よろしくご回答のほどお願いします。
No.3ベストアンサー
- 回答日時:
すいません。
MTSに関してはおっしゃっている程度の知識しか持ち合わせておりません。ただ、MTSは、DBのトランザクションではなく、コンポーネントのトランザクションだったと思います。(つまりプログラムでの処理をコミットしたり、ロールバックする)そのために結果的に、複数のDBをサポートすることになりますね。
MTSはWin2000にもあります。(標準だったか、追加インストールかは忘れました。)CDのどこかにあると思います。
MTSの本としては、ソフトバンク社から、電話帳のような分厚い本が出ていたと思います。(NT4のものですが、基本は変わらないはずです)
あと複数DBのトランザクションですが、MTSでするのも一つですが、今の主流は、DBのほうで持っている分散処理で行うほうが簡単だと思います。2フェーズコミットなどの方法で実現されています。DB側で分散処理を行えば、アプリケーション側は、ADOによる単一の接続で大丈夫なので、アプリケーションの構築が簡単になると思います。
この回答への補足
ご回答ありがとうございます。お返事遅れてすみません。
>あと複数DBのトランザクションですが、MTSでするのも一つですが、今の主流は、DBのほうで持っている分散処理で行うほうが簡単だと思います。2フェーズコミットなどの方法で実現されています。DB側で分散処理を行えば、アプリケーション側は、ADOによる単一の接続で大丈夫なので、アプリケーションの構築が簡単になると思います。
あ、素人にはそういう表現のしかたがわかり易くて助かります。
そうですよね、それでできますもんね。
じゃあ、どういう時にMTSを使う必要があるんでしょう。
しろうとにはわかりませんが、とりあえず今回の質問の範疇を超えそうなので、
また今度にします。ご回答ありがとうございました。
No.4
- 回答日時:
こんにちは。
itohhといいます。すこし確認したいのですが、
1.既存のDBまたはDBの設計は終了している。
2.複数のDBに分かれている。(1つのDB内に複数のテーブルがある)
3.複数DBにまたがった処理が必要である。
以上を前提にお話しします。
この場合、ADOとかODBCを使用してどうにかするというよりSQL Serverの分散クエリ
を使用して行うべきではないでしょうか?
わたしの専門は、oracleなので分散クエリの詳しいことはわかりませんが、
MSDNライブラリなどを参考にされると良いと思います。サンプルなどもあります。
余計なことかもしれませんが、
会社のサイト構築をお考えならば、専門のコンサルタントに設計だけでも
一緒にサイト構築に参加してもらったほうがよろしいのではないでしょうか?
レスポンス、セキュリティなどの面からも最適な助言が得られると思いますから。
ちなみに、
>MTSとやらで「ページ単位」のトランザクションが可能だとあります。
残念ながらMTSはDB操作だけを管理するものではありません。
端的に申し上げるとFORMタグの内容を読み込むobjectや
書き込むobjectなどの管理をするものです。自作のCOM(ActiveX)
などをobjectとしてVBScriptの中で使用した場合も管理してくれます。
参考URL:http://www.microsoft.com/JAPAN/developer/worksho …
この回答への補足
ご回答ありがとうございます。
前提としてあがっている項目は、その通りです。
>この場合、ADOとかODBCを使用してどうにかするというよりSQL Serverの分散クエリ
>を使用して行うべきではないでしょうか?
どうもそのようです。どうも私がいろいろ混同というか混乱していたようです。
ちなみに、事情を説明しますと、会社のサイト構築ではなく個人ベースでのサイト構築
(なのにきちんと作ろうというのが厄介なのですが・・・)で、
間もなく友人のコンサルタント数名にも参画(無料)してもらう予定です。
んが、コンサルとのコミュニケーション上、最低限の知識は用意しておかんといかんということで、
企画者としてむやみに悩んでいる次第です。
私個人では、システム構築に関しては業務設計・DB設計と、非常に整った環境下でのプログラミングまで
しか経験がないので、ミドルウェアだなんというところは素人同然でして、的を得ない質問を投げかけて
しまいました。なんだか言い訳がましくなってきたので、この辺で。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 画像編集・動画編集・音楽編集 【急】【Zbrush】3DCG初心者です。ノートPCでのZbrush動作環境につきまして 1 2023/08/19 17:38
- その他(セキュリティ) IDと暗証番号・パスワードの管理の画期的かつ簡単便利な方法を考案した。他人に検証してもらう方法は? 5 2023/02/08 08:49
- 世界情勢 ウクライナへの支援物資で必要な物は? 3 2022/03/27 18:34
- その他(法律) 絶滅危惧種の違法取引について 2 2023/06/24 09:53
- UNIX・Linux bash環境でのエラー対応をお願い致します。 1 2022/11/26 17:41
- その他(ブラウザ) Microsoft Edge(最新版)保存中サイトが全てログオフ状態で困っています! 3 2022/06/15 11:02
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- ルーター・ネットワーク機器 transix回線で契約、外部からIPv6でNASにアクセスしたい 1 2023/01/26 15:07
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- ルーター・ネットワーク機器 中継器とハブの設置について 3 2022/04/16 13:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.Net.Sockets.SocketExce...
-
Cでデータベース操作
-
ORACLEに接続できない
-
javascriptでSQLite接続
-
ASP.NETのパフォーマンスと接続...
-
ORACLE のバージョンア...
-
VB.NET ORA-12170
-
VisualStudioでのプログラミン...
-
Active Directory接続エラーに...
-
【Win7・64・C#】マイコンUSB通...
-
MySQLへのネットワーク接続
-
ODBCによるSQL serverへの接続...
-
ctfmon.exe。スタック ベースの...
-
タスクバーのボタンがオレンジ...
-
IIS7.5 Excel ファイルオープ...
-
C#からvbsを実行したい
-
コマンドボタンのキャプション...
-
TeraTermマクロの”Link...
-
web.configとは?(初心者です)
-
タイマーマクロの二重起動防止...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudioでのプログラミン...
-
OracleInProcServer.XOraSessio...
-
c#のTLS1.2での通信について
-
System.Net.Sockets.SocketExce...
-
ConnectNamedPipeの接続待ち
-
データベース接続/切断の基本的...
-
Android端末から外部DB(MYSQL...
-
javascriptでSQLite接続
-
●Excel VBAからSQLServerのデー...
-
【Win7・64・C#】マイコンUSB通...
-
VB6.0のコードによるMySQLへの接続
-
VB.NET ORA-12170
-
ローカル側のC#から、リモート...
-
sqlnet.logについて
-
Cでデータベース操作
-
PerlからOracleに接続
-
Androidから外部DBサーバーへ接...
-
VB2010 Dataset内のDB接続先変更
-
DataAdapterだけじゃダメ?
-
Tomcat FireBird(データベー...
おすすめ情報