问题标签 [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.
c# - 如何在 c# 中调用带有参数并返回记录的 Oracle 函数?
我有一个 Oracle 函数,它接受 3 个参数并返回有四列的记录。
但我得到了一个例外,那就是
ORA-06550:第 1 行,第 7 列:
PLS-00221:“get_receipts”不是过程或未定义
这是我的代码:
oracle - Oracle 托管驱动程序用户定义类型
我一直在寻找新的 oracle 托管驱动程序函数,因为我发现 oracle 中的用户定义类型不支持很多东西(OracleArrayMappingAttribute
IOracleArrayTypeFactory 等...),有没有办法在托管驱动程序中支持 udt 类型
https://docs.oracle.com/database/121/ODPNT/intro004.htm#ODPNT8146
谢谢
c# - 插入 OracleClob 数组
对于我的 .NET 项目,我确实需要能够使用 Oracle.ManagedDataAccess 库将一组 Clob 插入到 Oracle Db 中。
执行命令后,我得到 Oracle 错误:
ORA-03120:两任务转换例程:整数溢出。
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 中对关联数组使用表运算符有问题吗?问题可能源于其他原因吗?
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),所以现在我可以区分它们了。UPDATE
INSERT
UPDATE
将命令依赖关系分离到多个OracleDependency
类甚至多个连接会导致相同的结果。
我想知道是否有人知道这里发生了什么?
.net-core - 在 dotnetcore、startup.cs、ConfigureServices、DbContext 选项中缺少 UseOracle()
“UseOracle”的选项在哪里?services.AddDbContext(options => options.useoracle()
我相信我已经包含了所需的 DLL。
提供截图: https ://pasteboard.co/HuVDEfB.png
任何帮助深表感谢。
c# - 具有 Oracle Managed Access DateTime 问题的 EntityFramework
我有存储过程来根据输入参数执行搜索。
在我的应用程序中,我使用的是 EntityFramework 5.0 和“数据库中的 EF 设计器”方法。在 C# 中为我的存储过程自动生成的代码如下所示:
如您所见,我在数据库中有created_at
类型列timestamp
,它负责存储记录的创建日期。因此,在我的应用程序中,我形成了 DateTime 参数(从时间图到 DateTime 的转换),这些参数应该被发送到 SP。
该过程在没有任何错误的情况下正常工作,但是当我发送任何createdAtFrom
orcreatedAtTo
参数时,数据库会引发以下异常。
我认为这在某种程度上与将 C#DateTime
类型转换为 Oracle的过程有关timestamp
,但我无法自己调试它。
有任何想法吗?
我的配置:
Visual Studio 2017
EntityFramework 5.0
Oracle客户端11g 32bit
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?我看到很多关于这个问题的答案,但没有一个能解决我的问题。