如何使用 Oracle.ManagedDataAccess.EntityFramework 提供程序从不同的架构中选择表?
Posted
技术标签:
【中文标题】如何使用 Oracle.ManagedDataAccess.EntityFramework 提供程序从不同的架构中选择表?【英文标题】:How do I select tables from a different schema using the Oracle.ManagedDataAccess.EntityFramework provider? 【发布时间】:2015-07-11 14:42:50 【问题描述】:我在互联网上的各个地方都看到过这个问题;但我看到的答案都没有比 2011 年更新(而且这些似乎都不起作用)。
无论如何,当我访问服务器时,它会尝试向我显示与我的用户架构关联的表;但是,我需要为我具有读取权限的另一个模式生成实体。
DevArt 建议需要使用特定类型的表授权;但由于我不是 Oracle 开发人员,我不知道这是否特定于他们的提供商或 Oracle 服务器通用。无论哪种方式,它似乎都没有奏效。
2011 年的编辑服务器连接过滤器的技巧对 EDM 向导没有影响(否则它需要在 UI 中不明显的特殊形式的保存);到目前为止,我还没有找到用于指定架构的连接字符串条目(这太方便了。)
为了记录,我正在使用 EF6;而且我已经有将近十年没有与 Oracle 合作了。
谢谢
【问题讨论】:
【参考方案1】:请您的 DBA 执行以下操作:
1) 确保 DBA 授予您在连接字符串中使用的帐户对 oracle 表的 SELECT 访问权限。
grant select on myschema.mytable to group_or_username;
2) 确保 DBA 在您尝试访问的其他架构中创建同义词。
create or replace synonym anotherschema.mytable for myschema.mytable;
3) 确保在 ORM 工具中的表名之前包含架构名称。
HTH
【讨论】:
哈哈,在非 MS 系统上使用 MS 技术真是太痛苦了。我做了第一部分,但我从没想过我必须做第二部分。当我的 DBA 有更多时间时,我会试一试。我打赌你是对的,所以,我现在就标记你。谢谢以上是关于如何使用 Oracle.ManagedDataAccess.EntityFramework 提供程序从不同的架构中选择表?的主要内容,如果未能解决你的问题,请参考以下文章
如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]
如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?