- PR -

データアダプタ使用後、DBに表ができる?

投稿者投稿内容
Beecha
会議室デビュー日: 2002/11/15
投稿数: 16
投稿日時: 2003-02-26 10:46
こんにちは。

VB.NETを使用してシステム開発を行っております。

OleDbDataAdapterを使用して、DataGridにOracleの表を
表示させようとしました。
最初はコーディングでやらないで、「データアダプタ構成ウィザード」を
使用して表示させました。

それ自体はうまくいったのですが、その後表示させたOracleの表の
スキーマの持ってる表を見てみると、「MICROSOFTDTPROPERTIES」という
見たこともない表が出現していました。中身は何も入っていません。

これはいったいどういうことなのでしょうか?
データアダプタを使用することによって無条件にこの
表ができてしまうのでしょうか?

何かわかることがありましたら、よろしくお願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-02-26 13:49
こんにちは。

 Visioをお使いになっていらっしゃいませんか?Visioからデータベーステーブルを作成したとき、そのような名前の表が2〜3個、できていたように思います。
Beecha
会議室デビュー日: 2002/11/15
投稿数: 16
投稿日時: 2003-02-26 14:54
早速のお返事、ありがとうございます。

いいえ、VB.NETを使用しています。
もう少し詳しく説明しますと、まずツールボックスの「OleDbDataAdapter」
をフォームにドラッグアンドドロップすると、自動的に「データアダプタ構成ウィザード」
が開始します。「新しい接続」ボタンをクリックし、「データリンクプロパティ」の
「プロバイダ」タグにて「Microsoft OLE DB Provider for Oracle」を選択、
「接続」タグにてOracleのサービス名とユーザ名、パスワードを入力して
接続テストをし、接続に成功したら、「クエリの種類の選択」にて「SQLステートメントの
使用」を選択して、完了します。

その後、「データ」メニューの「データセットの生成」を選択。
そこでデータセットの生成をします。そしてForm_Loadにて
「OleDbDataAdapter1.Fill(MyDataSet1)」を書き、DataGridの
DataSourceを選んで、完成しました。

この説明でわかるでしょうか?
詳しくは、「VisualBasic.NETプログラミングマニュアル(技術評論社)」に
掲載されている通りにやってみたのですが、再度行ってみても
やはりできてしまいます。

再度、よろしくお願い致します。
NothingButXMLInfoSet
大ベテラン
会議室デビュー日: 2002/07/16
投稿数: 116
投稿日時: 2003-02-26 17:27
ORACLEが手元にないのでたぶんですが、それはdtpropertiesテーブルのORACLE版だと思います。dtpropertiesテーブルは、Microsoftの様々な開発ツールに付属しているVisual Database Tools(VDT)を使ってデータベースダイアグラムを作成するときに使われるテーブルです。びーちゃさんはダイアグラムを作られていないので、内容がないのだと思います。

おそらくVisioもVDTのコードを使っているのでしょう。ですからJittaさんのおっしゃっている現象も根っこは同じだと思います。VS.NETでも、サーバーエクスプローラやウィザードを使うと、VDTのコードが走って、DB上にテーブルを作るものと思われます。

ダイアグラムに関するデータを保存するだけですから、実運用環境では必要ないと思います。DROPしてしまってもいいのですが、開発中は結局何度も作られることになるでしょうから、放置しておけばいいと思います。
Beecha
会議室デビュー日: 2002/11/15
投稿数: 16
投稿日時: 2003-02-27 09:38
早速のお返事、ありがとうございました。

そうですか・・・
使用しないのに勝手に作られる表っていうのも
なんだか気持ち悪いですね・・・

表の作られる表領域の初期サイズに依存しているので
スキーマごとにアクセスすれば必ず作られてしまうのは
あまりいただけないですね。

なので、DataGridを使用しない方法で検討してみようと
思います。

お手数おかけしました。ありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-02-27 09:53
こんにちは。

 私のところには、その表はないんですよ…。

 私のところでは、何度もサーバの再インストールをしてまして(笑…ごとじゃないな)、初期の頃はVisioから表を作っていたので、できていました。ところが、表の"メンテナンス"ができるわけではない(というか、DBが悲惨になる)ことがわかり、Excelのマクロで表を作るSQLを生成するマクロを組み、メンテはオラクルのツールを使用するようになってから、Visioは使わなくなったんですね。その後、おそらく同様の方法にてOleDbDataAdapterは多用していますが、その表はありません。
NothingButXMLInfoSet
大ベテラン
会議室デビュー日: 2002/07/16
投稿数: 116
投稿日時: 2003-02-27 10:56
あの、私の書き方が悪いのだと思いますが、VDTというのは開発ツールのことで、クラスライブラリとは無関係です。OleDbDataAdapterを利用するコードをいくら書いたところで、VDTを使っているわけではありませんし、DataGridを使う使わないも、dtpropertiesとは無関係ですよ。開発ツールで「データベースダイアグラム」を利用するかどうかの話です。実行コードとは無関係です。
Beecha
会議室デビュー日: 2002/11/15
投稿数: 16
投稿日時: 2003-02-28 10:50
詳細な説明、ありがとうございました。

多分今回の場合、「データアダプタ構成ウィザード」がVDTだったのですね。
だから「MICROSOFTDTPROPERTIES」という表ができたのだと思います。

コーディングでOracleにつないでSQL文発行すれば、DataGridを
使用してもその表はできないのだろうと推測しますので
ヘルプを見ながらやってみようと思います。

どうもありがとうございました。


スキルアップ/キャリアアップ(JOB@IT)