oracle - 为 ODBC 创建 oracle 只读用户
问题描述
我在 oracle 数据库上创建了一个用户,使用
create user xxx identified by test;
grant create session to xxx;
grant select any table to xxx;
grant select any dictionary to xxx;
我还从 Excel 建立了一个 ODBC 连接,它对用户 yyy 工作正常,但是当我尝试对 xxx 做同样的事情时,我得到错误:表或视图不存在。
所以我的问题是,如何让表格出现/可供用户 xxx 使用?
感谢你的帮助。干杯
解决方案
您需要在模式 XXX 中为模式 YYY 中的表创建 SYNONYM。
grant create synonym to XXX;
以用户 YYY 运行此 SQL。
select 'CREATE SYNONYM ' ||tname|| ' for '||'YYY.'||TNAME||';' from tab
where tname not like 'BIN$%'
例如,输出这个 sql。
CREATE SYNONYM TEST2 for YYY.TEST2;
CREATE SYNONYM TEST_ARCHIVE for YYY.TEST_ARCHIVE;
CREATE SYNONYM TEST_ONLINE for YYY.TEST_ONLINE;
以 XXX 身份运行此 SQL
CREATE SYNONYM TEST2 for YYY.TEST2;
CREATE SYNONYM TEST_ARCHIVE for YYY.TEST_ARCHIVE;
CREATE SYNONYM TEST_ONLINE for YYY.TEST_ONLINE;
推荐阅读
- r - CV 的 R 代码省略了一个,仅拟合一个线性模型
- google-cloud-platform - GKE Ingress 只会在第二个端口上设置默认的健康检查
- python - 在 matplotlib 中绘制对象与值
- c++ - HidDevice.FromIdAsync() 无法在 Win32 应用程序中以 FileAccessMode::ReadWrite 模式打开设备
- html - 如何指定接受 itemtype 服务的组织类型的属性?
- javascript - Angular - 布尔值不会改变
- javascript - HTML“body onload”仅在手动刷新浏览器时有效
- r - 有没有办法从通过 selectInput 选择的下拉列表中选择或返回所选变量?
- ios - 使用 Ionic 从 iOS Settings-MyApp 读取应用程序设置值
- python - 与另一个数据框合并后无法选择特定列