- - PR -
ADO.NETでテーブルの存在を確認する方法がわからない。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-09-17 22:12
お世話になっております。
ADO.NETでODBC経由でSQLserver2000へ接続するプログラムを作成しています。 プログラムの最初で各テーブルの存在確認をして、存在しなければ、 新規にCreate文を発行したいと考えていますが、 テーブルの存在確認を行う方法がわかりません。 SQLserver固有の関数を使用すれば可能とのページがあったのですが、 ODBC経由で複数のDBMSに対応させたいと考えておりますので、 ADO.NETの機能で実現させたいです。 どなたかよろしくお願いいたします。 | ||||
|
投稿日時: 2006-09-17 23:40
IF NOT EXISTSが使えないならエラーが発生したら存在しないと見なすとかしかないかな。
キーを返すようなSQLを発行してキーが帰らなければみたいことはやったことある。 ODBCではできないか。 | ||||
|
投稿日時: 2006-09-18 00:20
レスありがとうございます。
そうですか・・・簡単にはできなさそうですね。 さきほど以下のページを発見し、テーブル一覧を取得して存在確認をしようと していたのですが、まだうまく動かせません・・・うーん。 http://davidhayden.com/blog/dave/archive/2006/03/29/2895.aspx ただもうめんどくさいので、とりあえずCreate文を一律発行して、 例外が出力されれば、それを読み飛ばす方法をとりたいと思います。 「例外を発生させずに、既存テーブルを初期化&再Createする」という動作を取る DBMSがないことを祈ります・・・あった場合は再検討。 どうもありがとうございました。 | ||||
|
投稿日時: 2006-09-18 00:57
このページに GetSchema というキーワードがあるので、 これを MSDN で検索してみると、次のページが引っかかりました。 http://msdn2.microsoft.com/ja-jp/library/kcax58fh.aspx |
1