Oracle实体框架连接字符串

niwlg2el  于 2023-10-16  发布在  Oracle
关注(0)|答案(3)|浏览(111)

我使用的是asp.net核心oracle实体框架。我正在编写默认连接到appsettings.json
但我得到
Oracle.ManagedDataAccess.Client.OracleException:ORA-00942:表或架构不存在。
我想我在连接字符串上犯了错误,但我不知道在哪里
我的数据库名称TEST我的模式名称DBTEST(所有我的数据库表在这里面我必须连接到dbtest插入,选择或更新)但我不能,所以我得到的表或视图不存在.

"DefaultConnection": "Data
 Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST= ip
 )(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=test)(SERVER=TEST)));User
 Id=UserName;Password=*******;"
mkh04yzy

mkh04yzy1#

ORA-00942:表或架构不存在。
这意味着连接是成功的,但在解析查询时出错。您需要检查您的查询。

wz3gfoph

wz3gfoph2#

错误很明显,要么表不在那里,要么您的用户(您连接的用户)没有查看表的权限。
你需要运行:

SQL> GRANT SELECT, INSERT, DELETE, UPDATE ON SCHEMA.TABLE_NAME TO USER ;

在本例中,将schema.table_name替换为schema和table,将user替换为TEST。

lnvxswe2

lnvxswe23#

在DbContext中使用表示表的类的特殊属性来确定要访问哪个DB表。使用大写匹配Oracle表。

[Table(name:"BANK_ORDERS", Schema ="STAGING")]
    public class Orders
    {
        [Column("ID")]
        public string Id { get; set; }

表STAGING.BANK_ORDERS的示例

相关问题