问题标签 [odac]

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 投票
3 回答
6787 浏览

c# - 使用 OracleDataReader (ODAC) 返回 Oracle 存储过程

我对使用 OracleDataReader(Oracle.DataAccess.Client) 的 Oracle 存储过程的输出数据有疑问。

程序:

C#代码:

在调试过程中,我看到了博士:

对于测试,我添加计数代码:

计数在任何时候都是 0。

此代码(例如):

或者

返回异常:

最后我需要从 Oracle SP 检索 CLOB 数据,但现在在这一步停止。使用:Visual Studio 2012、ASP.Net(网络项目,但我将此代码写入 WinForms 应用程序并遇到同样的问题)、oracle.dataaccess.dll 4.112.3.0

0 投票
3 回答
7289 浏览

c# - 实体框架通配符和 Linq

是否可以构造一个包含通配符的有效 Linq 查询?

我已经看到了这个问题的各种答案,建议使用:

或构建 RawSql:

如果通配符不在字符串的开头或结尾,例如searchTerm = "Foo%Bar".

使用 RawSql 的第二个解决方案并不适合我,而且感觉像是一种廉价的出路。但它确实有效。

我尚未尝试的第三个选项是创建可以解析搜索词并构建有效的 Linq 查询的东西,这是@Slauma 在下面的链接 2 中尝试的东西。但是,如果通配符不在搜索词的开头或结尾,这仍然不起作用。

所以问题是:是否可以构造一个包含通配符的有效 Linq 查询?

编辑:值得一提的是,在这种情况下,我使用的是 Oracle 数据访问组件 (ODAC/ODP),但我认为在这种情况下并没有太大的不同。

链接:

1. Entity Framework 中的“like”查询

2.以搜索词为条件的精确和通配符搜索

3.使用RawSql

0 投票
1 回答
13210 浏览

windows - 如何检查是否已安装 Oracle 数据访问组件?

如何检查我的计算机上是否安装了 Oracle 数据访问组件和版本?

另外如何检查是否安装了 Oracle Data Provider 和版本?

0 投票
2 回答
411 浏览

oracle - 我需要在部署机器中安装或配置什么来运行带有 Oracle 控制台应用程序的实体框架?

我在 Windows 7 + VS 2012 下使用 Entity Framework 4.1 做了一个完整的开发

我的应用程序是一个 Windows 控制台应用程序,它使用实体框架来访问在远程服务器中运行的 Oracle 数据库。我的应用程序具有 x64 目标设置,而我的 Windows 7 也是 64 位的。

在我开始部署到生产主机之前,开发机器上一切正常。

生产主机:新安装的 Windows Server 2012。安装 ODAC 64 位并在 odp.net/managed/x64 文件夹运行 configure.bat。

我正在从 VS2012 的 /bin/Debug 文件夹中生成的应用程序中获取所有文件,并与 Oracle.DataAccess.dll 一起复制到目标机器。

我的连接字符串有providername = System.Data.EntityClient. 这是由 EF 模型优先向导生成的。

运行时,我收到以下异常:

我检查了 ODCA configure.bat 并安装了 OracleManageDataAccessDTC.DLL

所以,我很困惑。我有Oracle.DataAcess.dllOracleManageDataAccessDTC.dll但这些都不起作用。这是我第一次使用 EF 4.1 部署 Oracle。

我看了很多帖子,根本没有得出任何结论。

希望可以有人帮帮我。

0 投票
1 回答
1341 浏览

oracle - ODP.NET 是否支持带有 DbContext 的 EF 模型优先?

我们正在尝试在 Oracle 11g 和 ODP.NET 11.2.0.3.20 中使用实体框架模型优先方法。我们希望将 EF 4.1 或 EF 5.0 与DbContext.

简短版:有没有人设法做到这一点?

长版: 在 VS2010 和 Entity Framework 4.0 上,一切正常。我能够Generate Database from Model

当我尝试使用 EF 4.1 或 EF 5.0 时,我总是Object reference not set to an instance of an Object在 Visual Studio 中收到一条错误消息:

在此处输入图像描述

我尝试了以下方法:

  • 在 VS2012 中创建了一个新的 EF 5.0 模型,将代码生成工作流和模板设置为 Oracle 的东西(Generate Oracle via T4 (TPT).xamlSSDLToOracle.tt)。然后我单击Generate Database from Model并选择了一个正常工作的 Oracle 连接,但 Visual Studio 只是显示该错误。
  • 在 VS2012 中创建了一个 EF 4.1 模型,同样的错误。
  • 在 VS2010 中创建了一个 EF 4.1 模型,同样的错误。
  • 在 EF 5.0 和 EF 4.1 中尝试了 Database-First 方法,同样的错误。

它仅在我使用 VS2010 和 EF 4.0 时才有效。

但是,Oracle 声称它应该可以工作,请参阅http://www.oracle.com/technetwork/topics/dotnet/downloads/install112030-1440546.html

有没有人设法将 EF 4.1 或 5.0 与 Oracle ODP.NET 一起使用?

编辑:原来它在 32 位虚拟机上运行良好。问题只存在于我的 64 位 Windows 7 机器上。

0 投票
2 回答
1938 浏览

c# - 如何在 C# 中执行 Oracle 函数

我想从 c# 执行 oracle 函数。我使用oracle 数据访问OracleConnection 和OracleCommand。我的功能是;

0 投票
1 回答
4774 浏览

visual-studio-2010 - 通过visual studio 2010连接oracle数据库

我已经安装了 oracle 数据库 11gR2 和 Visual Studio 2010 32 位。然后我尝试为 oracle 客户端 11.2.0.1.2 安装 odac。它给出了这个错误。

“Oracle 客户端 11.2.0.1.1 的 Oracle 数据访问组件只能安装在现有的 Oracle 客户端 11.2 主页上。使用 Oracle 服务器 11.2.0.1.0 的 Oracle 数据访问组件安装在 Oracle 服务器 11.2.0.1.0 主页中。 "

我不明白下一步该怎么做。希望您能提供帮助...谢谢。

0 投票
1 回答
735 浏览

c# - 在 IIS 中设置网站的 Oracle ODAC 错误:A 类型不能转换为 B 类型?

我有一个使用 cassini 在 VS2010 中开发的网站。它已经投入生产,现在我正在升级 IE9,但是当我将它加载到我的本地 IIS 中时(所以我可以从 VM 中访问它),我得到了这个:

获取数据库连接的问题:[A]Oracle.DataAccess.Client.OracleConnection 无法转换为 [B]Oracle.DataAccess.Client.OracleConnection。类型 A 源自 'Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' 在位置 'C:\Windows\Microsoft.Net\assembly\GAC_32\Oracle.DataAccess\v4 的上下文'Default' .0_4.112.2.0__89b483f429c47342\Oracle.DataAccess.dll'。类型 B 源自位置 'C:\Windows\assembly\GAC_32\Oracle.DataAccess\2.112.2.0__89b483f429c47342\ Oracle.DataAccess.dll'。在 DbLib.MyDatabase.getConnection()

任何线索这是什么或如何解决它?

0 投票
1 回答
620 浏览

c# - 将 DbSet.Find 与 Oracle 和 EF CodeFirst 一起使用

我在很多网站上,特别是在 oracle 论坛中读到,Oracle 不正式支持 Entity Framework Code First 或 DbContext API。

话虽如此,我还在很多地方读到人们使用 EF CodeFirst 和 Oracle 成功部署了项目。我遇到了很多问题,并且一直在调整代码以使其也可以与 SQL Server 一起使用。

一个似乎不起作用的函数是 DbSet.Find,您可以在其中将密钥作为参数传递并准确获取该记录。

使用 Find (如果我在同一个代码库上使用 sql server 效果很好)会引发异常并出现以下错误:

我读了这个问题,他们提到了套管,这不是我的情况,所以对我来说没有解决办法。

奇怪的是 usingDbSet.SingleOrDefault(x => x.Id == SomeId)工作得很好,所以我很确定模式、表名和列的大小写是好的。

有人在使用 DbContext 时成功使用 Find 吗?

请注意:我没有使用 EDMX,也无法使用它,我们必须继续使用 CodeFirst。

谢谢。

0 投票
1 回答
1541 浏览

c# - EF 表达式中的多个“或”语句

给定以下形式的过滤器参数列表:

在哪里:

如何编写将导致以下 SQL where 子句的表达式(注意以粗体显示的OR运算符:

WHERE (age = 22 AND name = "phil")
OR (age = 19 AND name = "dave") OR (age = 31 AND name = "nick")

我当前的实现导致由AND运算符分隔的每个语句:

上面的代码产生以下 SQL:

WHERE (age = 22 AND name = "phil") AND (age = 19 AND name = "dave") AND (age = 31 AND name = "nick")

我需要在表达式中进行哪些更改以使生成的 SQL 在指定位置使用“OR”而不是“AND”?我宁愿尽可能避免使用第三方库。

编辑:正如@KingKing 所建议的, aunion确实返回了所需的结果:

我仍然想知道是否可以使用所描述的“或”运算符生成语句。