O código a seguir pode exibir todos os usuários e tabelas que o usuário atual pode ver. Se estiver interessado, você pode adicionar
<%
ao conteúdo de cada tabela.
Dim objOraSession,objOraDb
Dim strDbUser,strDbPwd,strDbConn
ChamarConnectDB()
SubConnectDB()
'Conecta ao banco de dados
Em caso de erro, retomar o próximo
strDbUser = "tmpUser" 'Nome de usuário da conexão
strDbPwd = "rt45ps1w" 'Senha do usuário
strDbConn = "sun450" 'Sequência de conexão
Definir objOraSession = Server.CreateObject("OracleInProcServer.XOraSession")
Definir objOraDB = objOraSession.OpenDatabase(strDbConn,strDbUser & "/" & strDbPwd,0)
Se Err.Number>0 então
Response.Write "<font color=red>Erro:" & err.description & "</font>"
resposta.fim
Terminar se
Finalizar sub
SubEndDB()
Definir objOraDB = Nada
Definir objOraSession = Nada
Finalizar sub
Função getTableList(str)
DimstrSql,strTmp
Escurecer objRs
strSql = "Selecione at.table_name como tname, au.username como uname de all_tables at, all_users au Onde au.username=at.owner ordena por au.username"
Definir objRs = objOraDb.DbCreateDynaset(strSql,0)
Embora não seja objRs.Eof
strA = objRs("unome") & "." & objRs("tnome")
Se str=strA então
strTmp = strTmp & "<opção selecionada>" & strA & "</option>"
Outro
strTmp = strTmp & "<option>" & strA & "</option>"
Terminar se
objRs.MoveNext
Wend
Definir objRs = Nada
getTableList=strTmp
Função final
%>
<nome do formulário=form1 action="index.asp" método=POST target="main">
<table width="100%" border=0 align="center">
<tr><td>
Todas as tabelas: <select name="tb">
<%=getTableList(tblName)%>
</selecionar>
<tipo de entrada = nome oculto = "submeter" valor = "visualizar">
<input type=submit name="submit" value="Ver dados"> <font color=red>(<%=strDbUser & "/" & strDbPwd & "@" & strDbConn%>)</font>
</td></tr>
</tabela>
</form>