问题标签 [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.
.net - 使用 Oracle.ManagedDataAccess 设计时 T4 模板
我一直在尝试将一些项目从使用 Oracle.DataAccess 转换为 Oracle.ManagedDataAccess。我遇到了一个我无法弄清楚如何解决的问题。
我尝试在所有这些平台上运行,结果相同:
- Visual Studio 2012、2015 和 2017
- 视窗 7 和 10
- .NET 框架 4、4.5、4.7.1
通过将所需的部分添加到 app.config 文件中,我得到了一个使用 Oracle.ManagedDataAccess 项目的项目。我已经直接在 app.config 中使用 LDAP、TNS_ADMIN 和 TNS 数据源成功地完成了这项工作。
但是,当我尝试将其应用于使用 T4 文本模板的项目时,我得到了可怕的错误:tns:could not resolve the connect identifier specified。
所以我的问题是,有没有人遇到过这个问题,如果有,你是如何解决的?或者有没有人有任何关于我如何找出失败的地方的调试建议?
另请注意,我添加了一个 Pre-Build Event 脚本来获取所需的 NuGet 包,因为我相信文本模板是在预编译时执行的。
c# - C# - Oracle 高级队列:在回收池应用程序之前,行不会排队
我正在使用 TransactionScope 对 Entity Framework 和 Oracle Advanced Queue 执行一些操作。在本地机器上我没有问题,我的一些同事有。生产机器出现问题。问题是当我将一条消息排入队列时,它似乎没有被插入到表队列中。在 IIS 的应用程序池超时或进行手动回收后,行出现在表中。
MyEnqueuer 类的方法:
正如我所说,执行 ts.Complete 时,oracle 队列中没有任何反应。当 iis 池应用程序被回收或超时时插入行。
在本地我有 IIS 10,而不是在生产中我在 Windows Server 2008 R2 上有一个 IIS 6.1
我正在使用 .Net Framework 4.5,应用程序是 x64 编译的。EntityFramework 使用 Oracle ManagedDataAccess,如您所见,AOQ 使用 Oracle DataAccess Client。
笔记。问题停留在 Web 应用程序中,因为创建了一个测试控制台应用程序,一切正常。
c# - 使用 Oracle ManagedDataAccess.dll 将对象数组传递给存储过程
我正在将我的应用程序升级到 Oracle.ManagedDataAccess。我想将对象数组传递给存储过程。
以下是我的 SP:
我正在尝试通过 C# .NET 执行 SP,但出现错误。
错误:
Message=不支持的列数据类型 Source=Oracle Data Provider for .NET, Managed Driver
这不是这个的副本,因为我试图传递一个用户定义的对象数组而不是原始类型。
c# - EF6 使用转义字符引发“输入字符串格式不正确”异常
我有这段代码在所有情况下都有效,除非里面有?
or=
标志{}
如果我删除 {?} 它可以工作,如果我硬编码someParam
它也可以工作。如果没有它通过Input string was not in a correct format
编辑:似乎 EF 将花括号内的内容视为参数
c# - .Net/C# - Oracle SQL 并非所有变量都绑定 - 托管数据访问
我对 Oracle 风格的 SQL 比较陌生。我无法弄清楚为什么这会返回以下异常:
Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-01008: 并非所有变量都绑定
我尝试了以下方法。将冒号 (':') 添加到 parameters.add。使用更少的变量,确保它没有传入空参数。
这是数据。它被解析成一个对象,每个属性都是一个字符串。oracle 需要强类型参数吗?在 MS SQL Server 中传递一个字符串不会引起问题——不过这是我唯一的猜测。
- 内径:228IL
- 低:0
- 高 0
- 时间:2018-01-29T13:05:26
- 音量:0
- 关闭:0
c# - 来自 Oracle 的存储过程未将控制权返回给 .NET 进程
我有 1 个用 C# 开发的 .NET 进程,它使用 Oracle.DataAccess 库连接到我们的 Oracle 数据库。我的进程进行了一些大规模更新,之后必须调用 Oracle 中的存储过程来做一些事情。这个过程需要 1.5 个小时才能完成(我可以看到它已经完成,因为我有一个与这个过程关联的控制表),但是 C# 代码在调试时保持在同一行......可能是某种超时?我昨天离开进程运行,当我今天到达时,进程仍在运行(14 小时),存储过程在 1.5 小时内完成......)。
有没有办法控制这个?
调用过程的方法:
代码执行停止在 cmd.ExecuteNonQuery();
谢谢!
sql - Oracle参数化更新查询c#
它应该工作,但它没有。
我转介了其他人,但找不到原因。
提前致谢。
俊
c# - Oracle 存储过程返回 SYS_REFCURSOR 和实体框架模型的问题
我有一个 Oracle 数据库(带有 12.1 客户端位的 11.2 服务器端),其中包含许多返回 SYS_REFCURSOR 对象类型的存储过程。
我尝试通过 Visual Studio 2017 (15.6.3) 和 Oracle Managed DataAccess 客户端 (12.1) 中的添加新 ADO.NET 实体数据模型向导导入这组程序。但是当我访问这些存储过程时,我会遇到如下异常:
PLS-00306: wrong number or types of arguments in call to 'my_procedure'
此类 Oracle 存储过程的示例如下所示:
生成的模型 xml 如下所示:
生成的 C# 代码如下所示:
我玩了一下手动调用 Oracle DataAccess API,以下代码有效:
理想情况下,我希望有一个自动化过程来生成正确的 C# 代码来访问存储过程。解决此问题的最实用方法是什么?
c# - 无法添加迁移。找不到具有不变名称“Oracle.ManagedDataAccess.Client”的 ADO.NET 提供程序的实体框架提供程序
尝试添加迁移,突然间我遇到了这个错误。试图谷歌但