Le code suivant peut afficher tous les utilisateurs et tables que l'utilisateur actuel peut voir. Si vous êtes intéressé, vous pouvez ajouter
<%
au contenu de chaque table.
Dim objOraSession, objOraDb
Dim strDbUser, strDbPwd, strDbConn
AppelConnectDB()
Sous-ConnectDB()
'Se connecter à la base de données
En cas d'erreur, reprendre ensuite
strDbUser = "tmpUser" 'Nom d'utilisateur de connexion
strDbPwd = "rt45ps1w" 'Mot de passe utilisateur
strDbConn = "sun450" 'Chaîne de connexion
Définir objOraSession = Server.CreateObject("OracleInProcServer.XOraSession")
Définir objOraDB = objOraSession.OpenDatabase (strDbConn, strDbUser & "/" & strDbPwd,0)
Si Err.Number>0 alors
Réponse.Écrivez "<font color=red>Erreur :" & err.description & "</font>"
réponse.end
Terminer si
Fin du sous-marin
Sous-EndDB()
Définir objOraDB = Rien
Définir objOraSession = Rien
Fin du sous-marin
Fonction getTableList(str)
Dim strSql,strTmp
ObjRs faibles
strSql = "Sélectionnez at.table_name comme tname, au.username comme uname parmi all_tables at,all_users au Où au.username=at.owner commande par au.username"
Définir objRs = objOraDb.DbCreateDynaset(strSql,0)
Bien que non objRs.Eof
strA = objRs("uname") & "." & objRs("tname")
Si str=strA alors
strTmp = strTmp & "<option sélectionnée>" & strA & "</option>"
Autre
strTmp = strTmp & "<option>" & strA & "</option>"
Terminer si
objRs.MoveNext
Wende
Définir objRs = Rien
getTableList = strTmp
Fonction de fin
%>
<form name=form1 action="index.asp" method=POST target="main">
<table width="100%" border=0 align="center">
<tr><td>
Toutes les tables : <select name="tb">
<%=getTableList(tblName)%>
</sélectionner>
<input type=hidden name="submitc" value="view">
<input type=submit name="submit" value="Afficher les données"> <font color=red>(<%=strDbUser & "/" & strDbPwd & "@" & strDbConn%>)</font>
</td></tr>
</table>
</form>