2009-07-02 9 views
0

私はユーザーがバグリストを見ることを可能にするバグジラのようなページを継承しました。私はそれを解答して閉じることができるようにそれを拡張したいと思います。データベースに関する詳細情報を探す

問題は、データベースの構造についてよく分かりません。私が持っているのは接続の詳細といくつかのサンプルSQLクエリです。これはいくつかのテーブルについてのヒントです。どのようにしてデータベースの種類を知ることができますか(それはわかりません)、テーブルリストとその詳細情報を取得できますか?

+1

使用しているOSは何ですか? –

+0

@sheepsimulator:Windows。 – ya23

答えて

2

データベースエンジンのデータ辞書がある場合は、それを調べることをお勧めします。それはどのデータベースであるかによって異なります。少し調べるために、読んでください! Oracleの場合

  • 、データ・ディクショナリを形成 テーブルの巨大なセットがあります。 実行してみてください:

    SELECT * FROM SYS.ALL_TABLES; - テーブルを探すには

    SELECT * FROM SYS.ALL_TAB_COLUMNS WHERE owner = 'schema'とtable_name = 'table_name_found_above';

  • SQLiteのために、(私はBugzillaのがこれを実行している疑いが)実行してみてください:sqlite_master FROM

    SELECT *; - これは、CREATE文のすべての列名をリストする必要があるのMySQL、PostgreSQLの、SQL Serverのトライランニングで

  • :INFORMATION_SCHEMA.TABLES FROM

    SELECT *;

    SELECT * from INFORMATION_SCHEMA.columns where table_schema = 'schema'およびtable_name = 'table'; DB2では

  • 、試してみてください。

    SELECT * FROM SYSCAT.TABLES。

    SELECT * FROM SYSCAT.columns tabname = 'table'およびtabschema = 'schema';

実行中のデータベースエンジンがわからない場合は、有効な結果を返すまでクエリツールでテーブルクエリを実行してみてください。それはどのdbエンジンが走っているかを絞り込むのに役立ちます。次に、列の問合せに表名を代入できます。

上記のオプションは、あなたがそれをだますのに役立ちます。そこから、データベースエンジンのドキュメントを読み込んで、その機能についての詳細を学ぶことができます。いずれか、またはあなたが今所有しているバグトラッカーを実行しているサーバー管理者と話をして、もっと情報を掘り下げることができるかどうかを確認してください。

+2

FirebirdとInterbase用:SELECT * FROM RDB $ RELATIONS –

+0

ありがとう、それらは良い提案です! – ya23

1

私はあなたがこのデータベースを使用する働くアプリケーションを持っていると仮定しています。 ODBCを介して接続する場合、(Windowsでは少なくとも)ODBCログを有効にすることができます。手動で解析するのは面倒ですが、それは追加の情報源になる可能性があります。

あなたが探しているデータベースの種類を知ったら、選択したクエリツールを起動して、掘り起こしてください。