Следующий код может отображать всех пользователей и таблицы, которые может видеть текущий пользователь. Если вам интересно, вы можете добавить
<%
к содержимому каждой таблицы.
Тусклый objOraSession,objOraDb
Тусклый стрдбусер, стрдбпвд, стрдбконн
ВызовСоединитьДБ()
СубКоннектДБ()
'Подключаемся к базе данных
При ошибке Возобновить Далее
strDbUser = "tmpUser" 'Имя пользователя подключения
strDbPwd = "rt45ps1w" 'Пароль пользователя
strDbConn = "sun450" 'Строка подключения
Установите objOraSession = Server.CreateObject("OracleInProcServer.XOraSession")
Установите objOraDB = objOraSession.OpenDatabase(strDbConn,strDbUser & "/" & strDbPwd,0)
Если Номер ошибки>0, то
Response.Write «<font color=red>Error:» & err.description & «</font>»
ответ.конец
Конец, если
Конец субтитра
СубКонецБД()
Установить objOraDB = Ничего
Установить objOraSession = Ничего
Конец субтитра
Функция getTableList(str)
Тусклый стрскл, стртмп
Тусклые объекты
strSql = "Выберите at.table_name как tname,au.username как uname из all_tables at,all_users au Где au.username=at.owner в порядке au.username"
Установите objRs = objOraDb.DbCreateDynaset(strSql,0)
Пока не objRs.Eof
strA = objRs("uname") & "." & objRs("tname")
Если str=strA, то
strTmp = strTmp & "<выбранный параметр>" & strA & "</option>"
Еще
strTmp = strTmp & "<option>" & strA & "</option>"
Конец, если
objRs.MoveNext
Венд
Установить objRs = Ничего
getTableList = стрТмп
Конечная функция
%>
<form name=form1 action="index.asp" метод=POST target="main">
<table width="100%" border=0 align="center">
<tr><td>
Все таблицы: <select name="tb">
<%=getTableList(tblName)%>
</выбрать>
<input type=hidden name="submitc" value="view">
<input type=submit name="submit" value="Просмотреть данные"> <font color=red>(<%=strDbUser & "/" & strDbPwd & "@" & strDbConn%>)</font>
</td></tr>
</таблица>
</форма>