问题标签 [oracle-manageddataaccess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
464 浏览

c# - 如何在 c# 中调用带有参数并返回记录的 Oracle 函数?

我有一个 Oracle 函数,它接受 3 个参数并返回有四列的记录。

但我得到了一个例外,那就是

ORA-06550:第 1 行,第 7 列:
PLS-00221:“get_receipts”不是过程或未定义

这是我的代码:

0 投票
2 回答
2025 浏览

oracle - Oracle 托管驱动程序用户定义类型

我一直在寻找新的 oracle 托管驱动程序函数,因为我发现 oracle 中的用户定义类型不支持很多东西(OracleArrayMappingAttribute

IOracleArrayTypeFactory 等...),有没有办法在托管驱动程序中支持 udt 类型

Oracle ODP.net 托管与非托管驱动程序

https://docs.oracle.com/database/121/ODPNT/intro004.htm#ODPNT8146

谢谢

0 投票
1 回答
570 浏览

c# - 插入 OracleClob 数组

对于我的 .NET 项目,我确实需要能够使用 Oracle.ManagedDataAccess 库将一组 Clob 插入到 Oracle Db 中。

执行命令后,我得到 Oracle 错误:

ORA-03120:两任务转换例程:整数溢出。

0 投票
3 回答
1392 浏览

sql - 从 12.1 更新到 Oracle 12.2 后,表运算符出现错误 (ORA-21700)

我们的 Oracle 数据库最近从 12.1.0.2 更新到 12.2.0.1 + 补丁集更新 20180417。

自从更新以来,我们在调用 plsql 过程时收到以下错误: ORA-21700:对象不存在或被标记为删除

我们已经缩小了这个问题的范围,它似乎是由在包中定义的关联数组上使用表运算符引起的。我所有的研究表明,我们正在做的事情是在 12.1 中引入的,并且应该在 12.2 中仍然有效。

下面是与相关类型定义一起失败的过程的简化版本。它是使用托管数据访问从 c# 代码调用的。

这是包中的关联数组类型定义:

这是一个失败的过程:

select * from table(STATUSID_ARR)如果删除该部分,它将运行。

在 12.2 中对关联数组使用表运算符有问题吗?问题可能源于其他原因吗?

0 投票
2 回答
717 浏览

c# - Oracle 更改通知包含无效操作

设置

我创建了一个针对 .NET 4.7.2 的控制台应用程序,并安装了 NuGet 包Oracle.ManagedDataAccess版本 12.2.1100(最新/当前),它设置了一个依赖项,其中包含 2 个查询来监视对 所做的更改MYTABLE,两个查询都有不同的 WHERE -条款。

我要连接的 Oracle 数据库服务器在 localhost 上运行,版本为 12.2.0.1.0。

在侦听通知的控制台应用程序旁边,我使用 Oracle SQL Developer (v18.1.0.095) 将记录实际插入或更新到 MYTABLE 以强制通知。

代码

行为

一旦我在一个事务中触发多个命令依赖项,我就会在通知中获得两倍的事件行,并且无法再区分触发它的 queryid。

在一个事务中运行此查询:

输出:

在一个事务中运行此查询:

输出:

但是,在一个事务中运行此查询时:

我得到这个输出:

虽然我期望:

此外,当我执行INSERT触发第一个命令和UPDATE触发第二个命令的操作时,我得到 4 行,第一个 QueryId (63) 和+INSERT用于第二个 QueryId (64),所以现在我可以区分它们了。UPDATEINSERTUPDATE

将命令依赖关系分离到多个OracleDependency类甚至多个连接会导致相同的结果。

我想知道是否有人知道这里发生了什么?

0 投票
1 回答
665 浏览

c# - 具有来自托管数据访问的多个数组和标量的 Oracle 存储过程

我正在尝试从 Oracle 托管数据访问客户端调用以下 Oracle 存储过程

在哪里

使用此 C# 代码:

我尝试将 更改ArraybindCount为 2(2 个长度为 1 的数组),并尝试指定数组参数collectionType具有PLSQLAssociativeArray.

我总是收到一条异常消息:

无法将“System.Int32”类型的对象转换为“System.Array”类型

这个答案和这篇文章表明该ArrayBindCount属性意味着客户端期望所有参数的数组。

我的问题是如何调用传入多个标量值和多个数组(所有数组具有相同数量的元素)以及输出参数(标量)的存储过程?

0 投票
1 回答
410 浏览

.net-core - 在 dotnetcore、startup.cs、ConfigureServices、DbContext 选项中缺少 UseOracle()

“UseOracle”的选项在哪里?services.AddDbContext(options => options.useoracle()

我相信我已经包含了所需的 DLL。

提供截图: https ://pasteboard.co/HuVDEfB.png

任何帮助深表感谢。

0 投票
1 回答
2469 浏览

c# - 没有为 Oracle.DataAccess.Client 错误安装 DDEX 提供程序

我有 WebForms 应用程序,它使用 EntityFramework 与 Oracle 数据库交互。我可以打开并查看 .edmx(数据模型)文件而不会出现任何错误,但是当我尝试Update model from Database...在更改数据库后执行操作时出现以下错误:

在此处输入图像描述

我正在使用:Oracle 11g 32 位版本、EntityFramework 5.0.0、ODP.NET for Visual Studio 2017。

ODP.NET 安装正确,我能够连接到数据库并查看更改(例如新程序)。

有什么想法可能是错的吗?

0 投票
1 回答
343 浏览

c# - 具有 Oracle Managed Access DateTime 问题的 EntityFramework

我有存储过程来根据输入参数执行搜索。

在我的应用程序中,我使用的是 EntityFramework 5.0 和“数据库中的 EF 设计器”方法。在 C# 中为我的存储过程自动生成的代码如下所示:

如您所见,我在数据库中有created_at类型列timestamp,它负责存储记录的创建日期。因此,在我的应用程序中,我形成了 DateTime 参数(从时间图到 DateTime 的转换),这些参数应该被发送到 SP。

该过程在没有任何错误的情况下正常工作,但是当我发送任何createdAtFromorcreatedAtTo参数时,数据库会引发以下异常。

我认为这在某种程度上与将 C#DateTime类型转换为 Oracle的过程有关timestamp,但我无法自己调试它。

有任何想法吗?

我的配置:
Visual Studio 2017
EntityFramework 5.0
Oracle客户端11g 32bit

0 投票
0 回答
136 浏览

c# - OracleManaged.DataAcess 导致 ORA-12154:TNS:无法解析指定的连接标识符

我的应用程序 c# 使用 OracleManagedDataAcess 连接到 oralce。

在开发环境中,他可以解析 tnsnames.ora,但是,当尝试在另一台机器上运行时,他会启动此错误:ORA-12154: TNS:could not resolve the connect identifier specified

我的 TNSNAMES.ora 在C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\

我有环境变量 TNS_ADMIN 指出C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\

我的 App.config 是:

字符串连接是:cnx_str = String.Format("Data Source={0};Persist Security Info=True;User ID={1};Password={2}", dataSource, username, password);

我需要使用 TNSNAMES.ora 中的配置连接到 Oracle。为什么 OracleManagedDataAccess 无法解析 TNS?我看到很多关于这个问题的答案,但没有一个能解决我的问题。