[ASP+SQL SERVER] Affichage de la structure d'une BDD (Résolu)

Affichage de la structure d'une BDD (Résolu) [ASP+SQL SERVER] - ASP - Programmation

Marsh Posté le 10-01-2004 à 17:28:57    

Bonjour à tous :)
 
Voila je programme mon site web en ASP avec une base SQL Server.
Je souhaiterais afficher via une page ASP la structure de ma base de données SQL Server (Tables+colonnes).
 
Comment faire ?
 
Merci d'avance  :jap:


Message édité par jey_skywaker le 10-01-2004 à 19:03:41

---------------
L'univers de Starwars est désormais à votre portée !
Reply

Marsh Posté le 10-01-2004 à 17:28:57   

Reply

Marsh Posté le 10-01-2004 à 18:18:47    

les tables systèmes contiennent la structure. Mais c'est pour quelle utilité ?

Reply

Marsh Posté le 10-01-2004 à 18:25:14    

oui mais je ne les connais pas ces tables systèmes... c pour avoir la liste des tables et des colonnes sous la main, je n'ai pas d'accès direct au serveur, juste au ftp


---------------
L'univers de Starwars est désormais à votre portée !
Reply

Marsh Posté le 10-01-2004 à 18:27:28    

comment juste au FTP. quel rapport entre le FTP et SqlServer ?
 
Faut que tu m'expliques pourquoi tu veux faire ça

Reply

Marsh Posté le 10-01-2004 à 18:28:58    

bah g un accès au serveur via ftp, aux pages asp
page asp qui utilise une base SQL Server
 
je veux, via une page ASP, lister les tables et colonnes de cette base, afin de coder mes pages :)


---------------
L'univers de Starwars est désormais à votre portée !
Reply

Marsh Posté le 10-01-2004 à 18:33:16    

mais attend. tu peux pas coder sans avoir le modèle physique de la base...
 
pour ce qui est de récupérer la structure, tu n'auras sûrement pas les droits pour accéder aux tables système.
 
en principe, on développe en LOCAL, avec le MPD de la base devant les yeux...

Reply

Marsh Posté le 10-01-2004 à 18:35:02    

justement, l'intéret est d'avoir ce modèle via une page ASP ;) :D
 
Ben justement si, j'avais un script qui le faisait à une époque mais je ne l'ai malheureusement plus...:(


---------------
L'univers de Starwars est désormais à votre portée !
Reply

Marsh Posté le 10-01-2004 à 18:38:25    

oui ben ce script passe par les tables systèmes. mais... comme t'as pas accès....

Reply

Marsh Posté le 10-01-2004 à 18:39:56    

mais g les accès de la BDD ;) (mot de passe, user, etc...)


---------------
L'univers de Starwars est désormais à votre portée !
Reply

Marsh Posté le 10-01-2004 à 18:43:29    

j'abandonne

Reply

Marsh Posté le 10-01-2004 à 18:43:29   

Reply

Marsh Posté le 10-01-2004 à 18:49:43    

J'ai déja ce code qui permet de le faire pour une table, mais j'aimerais le aire pour toutes :
 

Citation :

<%
 
TableOpen=request("table" )
LienODBC="DSN=swu;UID=swuuserdb;PWD=mea2you"
 
 
Set Conn = Server.CreateObject("ADODB.Connection" )
Conn.Open LienODBC
Set Rs = Server.CreateObject("ADODB.Recordset" )  
Rs.Open TableOpen,Conn,,2
Response.Write "<table border=""1"" width=""100%"">"
Response.Write " <tr>"
Response.Write " <td width=""33%""><font face=""Arial"" size=""2"">Nom du champs</font></td>"
Response.Write " <td width=""33%""><font face=""Arial"" size=""2"">Type de champs</font></td>"
Response.Write " <td width=""34%""><font face=""Arial"" size=""2"">Longueur</font></td>"
Response.Write " </tr>"
for each Champs in Rs.fields
TypedeChamps = ""
select case Champs.Type
 
case 2
TypedeChamps = "Numérique - Entier"
case 3
TypedeChamps = "Numérique - Entier Long"
case 4
TypedeChamps = "Numérique - Réel Simple"
case 5
TypedeChamps = "Numérique - Réel Double"
Case 6
TypedeChamps = "Monétaire"  
case 11
TypedeChamps = "Booléen"
case 17
TypedeChamps = "Numérique - Octet"
case 72
TypedeChamps = "Numérique - Réplication"
case 135
TypedeChamps = "Date"
case 200
TypedeChamps = "Texte"
case 201
TypedeChamps = "Mémo"
case 205
TypedeChamps = "Objet Ole"
case else
TypedeChamps = "Pas de type"
end select
Response.Write " <tr>"
Response.Write " <td width=""33%""><font face=""Arial"" size=""2"">" & Champs.name & "</font></td>"
Response.Write " <td width=""33%""><font face=""Arial"" size=""2"">" & TypedeChamps & "</font></td>"
Response.Write " <td width=""34%""><font face=""Arial"" size=""2"">" & Champs.definedsize & "</font></td>"
Response.Write " </tr>"
next
Response.write "</table>"
Rs.Close
Set Rs=Nothing
Conn.Close
Set Conn=Nothing
 
%>


---------------
L'univers de Starwars est désormais à votre portée !
Reply

Marsh Posté le 10-01-2004 à 19:03:16    

C'est bon j'ai trouvé le code, en 2 fichiers :
 
Fichier tables.asp :
 

Citation :

<html>  
<body>  
<%  
dim i  
Set connexion = Server.CreateObject("ADODB.Connection" )
connexion.open "Connexion DSN à mettre"
 
set rsTables = connexion.execute("select name from sysobjects where type='U' order by name" )  
 
response.write("<table border=1>" )  
 
do until rsTables.eof  
    response.write("<tr><th><a href=getTable.asp?nom=" & rsTables("name" ) & ">" & rsTables("name" ) & "</a></th>" )  
    set rs = connexion.execute("SELECT * FROM " & rsTables("name" ))  
    for each f in rs.fields  
        response.write("<td>" & f.name & "</td>" )  
    Next  
    response.write("</tr>" )  
    rsTables.movenext  
loop  
 
response.write("</table>" )  
rsTables.close  
set rsTables = nothing  
rs.close  
set rs = nothing  
 
%>  
</body>  
</html>


 
Fichier getTable.asp :
 

Citation :

<html>  
<body>  
<%  
Set connexion = Server.CreateObject("ADODB.Connection" )
connexion.open "Connexion DSN à mettre"
 
set rs = connexion.execute("select * from " & request("nom" ))  
set rsCpt = connexion.execute("select count(*) from " & request("nom" ))  
 
response.write("<h1>" & request("nom" ) & "</h1>" )  
response.write("<h2>" & rsCpt(0) & " enregistrements</h2>" )  
response.write("<table border=1><tr>" )  
for each f in rs.fields  
    response.write("<th>" & f.name & "</th>" )  
Next  
response.write("</tr>" )  
i = 0  
do until rs.eof  
    response.write("<tr>" )  
    for each f in rs.fields  
        response.write("<td>" & f.value & "</td>" )  
    Next  
    response.write("</tr>" )  
    rs.movenext  
loop  
response.write("</table>" )  
rs.close  
set rs = nothing  
 
%>  
</body>  
</html>


---------------
L'univers de Starwars est désormais à votre portée !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed