大家好。
我即将制作一个脚本,从 ODBC 数据库中获取表。 我已经设法使用查询生成器来执行此操作,但我需要能够从下拉列表中选择一个模式,因为并非所有用户都可以访问所有模式。 谁能帮我举个例子,说明如何将可用模式作为列表或类似形式获取? 它不需要专门是用户有权访问的模式,而只是数据库中的所有模式。 作为一个额外的问题,如果我能获得所有具有特定视图的表的列表,那就太酷了。
提前致谢!
兄弟。安德斯
这就是我在 Oracle 中的做法:
dbc = create database connection("<YOUR connection="" string="" here="">");
sql = "SELECT a.username
FROM all_users a
ORDER BY a.USERNAME";
dt = execute sql(dbc, sql, invisible)
close database connection(dbc);
schema_list = dt:username << get values;
close(dt, nosave);
tbl_list = {};
nw = new window("Schema Browser",
panel box("Schemas",
schema_cb = combo box(schema_list,
one_schema = schema_cb << get selected;
sql = evalinsert(
"SELECT a.table_name
FROM all_tables a
WHERE a.owner = '^one_schema^'
ORDER BY 1");
dbc = create database connection("<YOUR connection="" string="" here="">");
dt = execute sql(dbc, sql, invisible)
close database connection(dbc);
tbl_list = dt:table_name << get values;
tbl_lb << set items(tbl_list);
close(dt, nosave);
),
),
panel box("Schema Tables",
tbl_lb = list box(tbl_list, width(300), nlines(20))
),
);</YOUR></YOUR>