Documentazione Database e Reporting Services

Se dovete generare della documentazione per un database (lista delle tabelle con relative colonne e proprietà  e via dicendo), un modo gratuito e furbo per farlo è quello di utilizzare le viste INFORMATION_SCHEMA unitamente ai Reporting Services.

Per estrarre tutte le colonne di una tabella, ad esempio:

SELECT
    C.TABLE_NAME,
    C.COLUMN_NAME, 
    C.COLUMN_DEFAULT, 
    C.IS_NULLABLE, 
    C.DATA_TYPE, 
    C.CHARACTER_MAXIMUM_LENGTH, 
    C.NUMERIC_PRECISION, 
    C.NUMERIC_PRECISION_RADIX, 
    C.NUMERIC_SCALE, 
    C.DOMAIN_NAME
FROM 
    INFORMATION_SCHEMA.COLUMNS C
INNER JOIN 
   
INFORMATION_SCHEMA.TABLES T 
       
ON C.TABLE_CATALOG = T.TABLE_CATALOG AND 
            C.TABLE_SCHEMA = T.TABLE_SCHEMA AND 
            C.TABLE_NAME = T.TABLE_NAME
WHERE 
    T.TABLE_TYPE = 'BASE TABLE' AND 
    T.TABLE_NAME LIKE @tableName
ORDER BY 
    C.TABLE_NAME, C.ORDINAL_POSITION

Il parametro @tableName viene valorizzato utilizzando una ComboBox i cui valori sono presi da questa query:

SELECT 'All' AS TABLE_NAME, '%' AS Value
UNION ALL
SELECT TABLE_NAME, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES T WHERE T.TABLE_TYPE = 'BASE TABLE'

Pratico, comodo e gratuito!

Come averete notato dalla sporadicità dei miei post questo è un periodo piuttosto denso di lavoro ed il tempo libero è poco, quindi per ora il consiglio si ferma qui...ma mi sono scritto nella mia to-do list di scrivere un articolo in proposito...spero di riuscire a farlo in tempo breve.

Print | posted on mercoledì 2 marzo 2005 14:00

Comments have been closed on this topic.

Copyright © Davide Mauri

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski