2009-07-02 6 views
0

J'ai hérité d'une page de type bugzilla qui permet aux utilisateurs de consulter la liste des bogues. Je voudrais l'étendre afin qu'il soit possible de répondre et de les fermer.Trouver plus d'informations sur la base de données

Le problème est que je ne connais pas grand-chose à la structure de la base de données. Tout ce que j'ai sont les détails de connexion et quelques exemples de requêtes SQL, ce qui donne de bons indices sur quelques tables. Comment puis-je trouver le type de base de données (ne le sais même pas) et obtenir une liste de table et des informations détaillées à leur sujet?

+1

Quel système d'exploitation utilisez-vous? –

+0

@sheepsimulator: Windows. – ya23

Répondre

2

Vous devez examiner le dictionnaire de données du moteur de base de données, s'il en a un. Tout dépend de quel type de base de données il s'agit. Pour étudier un peu, lisez la suite!

  • Pour Oracle, il y a un vaste ensemble de tables qui forment le dictionnaire de données. Essayez d'exécuter:

    SELECT * FROM SYS.ALL_TABLES; - Pour comprendre les tables

    SELECT * FROM SYS.ALL_TAB_COLUMNS WHERE propriétaire = 'schéma' et nom_table = 'nom_table_affiché_au-dessus';

  • Pour SQLite, essayez d'exécuter (bien que je doute un bugzilla TOURNE):

    SELECT * FROM sqlite_master; - cela devrait énumérer tous les noms de colonnes dans l'instruction CREATE

  • MySQL, PostgreSQL, essayez SQL Server exécutant:

    SELECT * FROM INFORMATION_SCHEMA.TABLES; SELECT * from INFORMATION_SCHEMA.columns WHERE table_schema = 'schéma' et nom_table = 'table';

  • Dans DB2, essayez:

    SELECT * FROM syscat.tables; SELECT * FROM SYSCAT.columns où tabname = 'table' et tabschema = 'schema';

Si vous ne savez pas quel moteur base de données, il est en cours d'exécution sur, on peut lancer un tas de requêtes de table dans votre outil de recherche jusqu'à ce qu'ils commencent à retourner des résultats valides; ça vous aidera à affiner votre moteur db. Vous pouvez ensuite remplacer les noms de table par les requêtes de colonne.

Les options ci-dessus devraient vous aider à le réduire. À partir de là, vous pouvez extraire la documentation du moteur de base de données et en savoir plus sur ses fonctionnalités. Soit ça, soit j'irais parler avec l'administrateur du serveur qui gère le bug tracker que vous possédez maintenant, et je verrai s'il/elle peut trouver plus d'informations.

+2

Pour Firebird et Interbase: SELECT * FROM RDB $ RELATIONS –

+0

Merci, ce sont de belles suggestions! – ya23

1

Je suppose que vous avez une application qui utilise cette base de données. S'il se connecte via ODBC, vous pouvez (sous Windows au moins) activer la journalisation ODBC. Ils sont pénibles à analyser manuellement, mais cela peut être une source d'information supplémentaire. Une fois que vous connaissez le type de base de données que vous regardez, lancez votre outil de recherche de choix, et commencez à creuser.

Questions connexes