大西彰のウェブログ

データベース系技術ネタ、国際化技術ネタなど、徒然なるままに

目次

Blog 利用状況

ニュース


こんにちは。大西 彰です。
私のブログでは、データベース技術、ソフトウェアの国際化などを取り扱っています。ニッチだけど重要なネタがつまっています。
ブログの内容は無保証です。
また、本ブログでの発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。



マイクロソフトライセンスセンター
マイクロソフトライセンスセンター
マイクロソフトライセンスセンター
ウィルコムストア
ソースネクスト
デル株式会社
アフィリエイト リンクシェア ブログ 携帯対応 成果報酬 広告 テンプレート ブログパーツ

テクノラティプロフィール

記事のカテゴリ

過去の記事

カテゴリ

イメージギャラリ

My blog

Visual FoxPro

Visual Studio

Web Sites

Windows Vista

ブログ

免責事項

SQL ServerのEnterprise MangerはODBCアプリケーション

あまり、知られていない事実。

SQL Server 7.0/2000になってもEnterprise ManagerはODBCが使われています。UDAを提唱しているマイクロソフト様がなぜにOLE DBでなくてODBCを使い続けているのか、・・・。どうでもいいですが、ODBCのトレースログをオンにしたままEnterprise Managerを実行すればパフォーマンスが落ちるのと、途中経過のODBC呼び出しが全て見られるのでODBCアプリケーションだという事実がわかります。

理由はよくわかりませんが、メタデータの取得について、OLE DBよりもODBCの方がやりやすかったのか、単に安定したコードだから書き換えたくなかったのか・・・。SQL Serverの開発担当者に聞かなければ理由はわかりませんが、マイクロソフト様の言っていることとやっていることの矛盾がここにあるというわけです。SQL Server 7.0でOLE DBを導入したのに、Enterprise ManagerはODBC・・・。たいていのユーザには実害はないですが、ODBCヘビーユーザにはバレバレですよ・・・。

かくいう私は、ODBCでメタデータを取得するプロジェクトに関わったことがあるので、そんなに気にしていませんが、「ODBCは死んだ!」と思っている人。そうじゃありませんよ。SQL Server 2005ではどうなっているか未確認ですが・・・。近日中に調べようかと思っています。ん?そんな時間あるのか>自分

 

投稿日時 : 2004年9月20日 3:07

コメントを追加

# re: SQL ServerのEnterprise MangerはODBCアプリケーション 2005/12/18 15:49 hiro

Enterprise ManagerはODBC直叩きじゃなくて
SQL Distributed Management Objects (SQL-DMO)経由でしょう。
細かい指摘ですが。

# re: SQL ServerのEnterprise MangerはODBCアプリケーション 2005/12/20 17:21 大西 彰

SQL-DMO経由でプログラミングされていても、下位レイヤーにODBCが実行されているのは事実なので、ODBCアプリケーションといっても間違いではないと思います。

# re: SQL ServerのEnterprise MangerはODBCアプリケーション 2005/12/20 19:59 Yoshihiro Kawabata/河端善博

IIS 関連の COM も早く .NET なものになってほしい。
※WMI, ADSI 遅すぎ、開発やりにくすぎ。

# re: SQL ServerのEnterprise MangerはODBCアプリケーション 2005/12/21 23:00 hiro

ADOで作成されたアプリケーションはOLE DBアプリケーションになってしまいますね。:-P

# re: SQL ServerのEnterprise MangerはODBCアプリケーション 2005/12/22 19:38 大西 彰

hiroさん、つっこみありがとうございます。
ではなぜにOLEDB Provider for SQL Serverが使われていないかご説明願いますか。言い方と返るとパフォーマンスが落ちてメタデータの取得がやりづらいOLEDB Provider for ODBCを経由して、SQL Server用のODBCドライバを叩く必要があったか、その理由がわかりますか。

# re: SQL ServerのEnterprise MangerはODBCアプリケーション 2005/12/24 0:17 hiro

>メタデータの取得がやりづらいOLEDB Provider for ODBCを経由して、
SQL-DMOはOLE DBではないでしょう?

何故、ADO/OLE DBではなくSQL-DMOを使用したのかはMSの開発の人間ではないのでわかりませんが、単にOLE DBが出る前にSQL-DMOで開発してしまったとか言う単純な問題では?

# re: SQL ServerのEnterprise MangerはODBCアプリケーション 2005/12/26 20:04 大西 彰

>ADOで作成されたアプリケーションはOLE DBアプリケーションになってしまいますね。:-P
>SQL-DMOはOLE DBではないでしょう?

ご自身でいったんADO/OLEDBアプリケーションだとおっしゃっているではないですか?矛盾したコメントされるのは避けていただけませんか。

繰り返しになりますが、SQL Server 7.0/2000のEnterprise ManagerはSQL ServerのODBCドライバに依存しています。トレースを取ればわかりますが、ODBC APIが叩かれています。SQL Server専用のOLEDB Providerが使われているとしたら、ODBC APIが呼び出されることはありません。

タイトル  
名前  
URL
コメント