问题标签 [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 投票
1 回答
3071 浏览

iis-express - Oracle 数据访问组件 64 位在 IIS express 7.5 中不起作用

我已经安装了 ODAC(Oracle 数据访问组件64 位)odp.net 4。但不幸的是,它不适用于 IIs Express。IIS express 文档说它同时支持 32 位和 64 位系统。它是否可以与 odp.net 4(64 位)一起使用,或者我们必须在开发机器中使用 odac 32 位组件。

提前致谢!

0 投票
1 回答
542 浏览

c# - 实体框架的 ODAC 输出格式错误的 SQL?

我一直在将系统从 MS SQL 迁移到 Oracle,并且在遇到这个问题之前或多或少没有遇到困难。

我最终从 oracle 收到的错误消息是:

ORA-06550:第 4 行,第 54 列:PL/SQL:ORA-00926:缺少 VALUES 关键字 ORA-06550:第 4 行,第 1 列:PL/SQL:忽略 SQL 语句

它仅在我执行复杂的 INSERT/UPDATE 时发生。也就是说,多个新的嵌套实体都在一个 .SaveChanges 调用中提交。我用于记录的简单 INSERT 语句工作得很好。

我对 oracle 很不熟悉,只是学习了一些技巧,但是该错误消息似乎表明 Entity Framework 生成的 SQL 格式不正确。我在网上搜索过,但找不到遇到此问题的其他人。

我在 VS2010、.NET4 和最新的 32 位 ODAC 11.2.0.2.50 Beta 3 上运行

通常在这种情况下使用 MS SQL,我会启动 SQL 分析器并查看我的应用程序发送的查询,以便更好地指示问题,但我的 oracle dbas 告诉我没有这样的工具为甲骨文。

有没有人遇到过这样的事情?

问候,克里斯

0 投票
1 回答
6886 浏览

oracle - Understanding Oracle database and ODAC installation

I want to use Oracle XE DB in my ASP.NET MVC project. I installed Oracle 11g XE on same machine where is VS running. Installation completed succesfully in C:\oraclexe. Everything as expected, i was able to connect to DB via Server Explorer using default .NET oracle data acces provider. But i want to use ODP.NET, so i installed ODP.NET + ODT in C:\app. Here is first confusing thing. Directory structure of C:\oraclexe..\server and C:\app..\client_1 is similar. Both have NETWORK\ADMIN folder where Tnsnames.ora resides. I understand that client is used to connect to database but:

  1. Which Tnsname.ora will be used to connect to database?
  2. Oraclexe also contains odp.net folder where Oracle.DataAccess.dll resides. If server installation come with odp.net why i need to install ODAC? Server Explorer in VS offered me ODP.NET drivers for connection only after ODAC install.
  3. ODAC comes with Oracle Instant Client. When to use Oracle Client and when Oracle Instant Client? If i decide for Oracle Client and then i will install ODAC for connection, will it also install Instant Client which is part of ODAC?
  4. Finally after installation of server and client, VS 2010 still does not offer me Oracle Providers in ASP.NET Configuration
0 投票
3 回答
3427 浏览

c# - ODAC 11.2 Release 4 (11.2.0.3.0) 抛出“Oracle 11.2.0.2.0 不支持 APPLY”异常

我将实体框架与 Oracle 刚刚发布的新 ODAC 一起使用。

我的问题是,我在以前的 beta 版本中工作的一些查询在这个新版本中停止工作。

这是一个例子:

当 test1 返回正确的结果时,test2 抛出一个 oracle 异常“ORA-00905:缺少关键字”,并显示消息:“Oracle 11.2.0.2.0 不支持 APPLY”。

我不想重新测试我所有的方法。有没有办法告诉EF不要使用apply?

以下是 EF 生成的查询:

测试1查询:

测试2查询:

提前致谢。

0 投票
1 回答
2605 浏览

oracle - Oracle SqlError: Protocol Violation / OALL8 处于不一致状态

我得到协议违反,OALL8 是一个不一致的状态异常,试图执行 SELECT 查询,但只在我的一些表上。我首先在我编写的一个测试应用程序中注意到了这一点,该应用程序做了SELECT * FROM SOMETABLE. 它会通过数百条记录,然后锁定我。我尝试在 Oracle 的 SQLDeveloper 中运行相同的查询,并且会在某些表上获得协议违规异常。最终,对于任何查询,它都会指示“OALL8 处于不一致状态”。

有谁知道为什么会发生这种情况以及如何解决这个问题?我的不一致状态在哪里?Oracle 的 SqlDeveloper 是它自己的独立客户端,还是依赖 ODAC 或 Instant Client(在 PATH envi var 中引用)存在?

最近唯一改变的是我安装了 ODAC,以便我可以使用 odp.net 替换 .NET 中的 System.Data.OracleClient。它是 ODAC 11.2.0.3.0,带有 Oracle Developer Tools for Visual Studio,32 位。从那以后,我更新了我的 PATH environmetn 变量以指向我的独立即时客户端。

  • Instant Client - 11.2.0.2.0,在 Win XP SP3 上运行,32 位 Oracle DB:

  • Oracle Database 11g Express Edition Release 11.2.0.2.0 - 生产,在 Windows Server 2003,x64 上运行

  • ODAC:11.2.0.3.0

SqlDeveloper 是在我安装 ODAC 之前安装的,但不知何故 SqlDeveloper 似乎正在通过 ODAC 作为客户端,尽管 PATH 环境变量中没有引用 ODAC。

更新:当我最初安装 ODAC 时,我的所有查询都正常运行。然后他们在一天后停止运作,我无法解释为什么。我尝试卸载 ODAC,但在查找要删除的 .DLL 时失败。然后我手动删除了我的 ORACLE_HOME,并重新安装了 ODAC,它现在工作正常。我不明白为什么会这样。

0 投票
1 回答
45837 浏览

msbuild - ODP Oracle.DataAccess.DLL 参考 32/64 位

我有一个引用 ODP (Oracle.DataAccess.dll) 的 .NET 3.5 程序集,在 Visual Studio 2010 中构建。复制 Local = False,特定版本为 false。路径是

版本是 2.112.3.0,(运行时 v.2.0.50727)。我的开发机器上安装了 ODAC 11.2.0.3.0 x86。当我构建这个项目并在集成测试中对其进行测试时,一切正常,ODP 已加载并使用。我正在尝试使用 MSBuild(通过 Team City)在 Windows Server 2003 x64 机器上的 Team City 7 上构建相同的集成测试。这台机器安装了相同版本的ODAC,但是是x64版本。

尝试加载 Oracle.DataAccess.dll 时出现问题。好像是在找.NET 2的版本,但是先找到.NET 4的版本,然后就难免失败了。查看日志,它找到了 .NET 4 版本,但仍然无法解析引用,并且似乎明确地在寻找 x86 版本。MSBuild 的配置为:MSBUILD 版本:.NET 4.0 运行平台 x86。

CS项目参考:

(我尝试将运行平台更改为 x86,并且似乎接受了 Oracle.DataAccess.DLL 库,但抱怨所有其他核心 .NET 库都针对错误的平台,例如 mscorlib

我还尝试通过 rake 脚本进行构建,该脚本使用 msbuild 来构建项目解决方案,并遇到类似的问题。

问题: 我怎样才能让它在我的 x64 机器上正确构建?x86 和 x64 版本的库具有相同的 PublicKeyToken,所以它不应该工作吗?CSProj 中的引用标记是否可以设置为针对“任何 CPU”而不是显式 x64(通过手动编辑文件)?或者,是否有某种方法可以根据构建机器的体系结构有条件地引用库,如此处所示不完全确定问题是什么,但这可能是一个解决方案)?

0 投票
1 回答
1192 浏览

c# - Oracle 中的批量插入性能

我尝试了很多解决方案,但我仍然不明白:我有一个简单的插入(有 40 个不同类型的列(包括 blob),我尝试插入这种数据传递(我使用来自 c# 的 Odac)值数组对于每个参数。

结果是一次或多或少地调用 ExecuteNonQuery 4000 行,问题是这个插入没有那么多元素持续 3 小时。

有什么建议吗?数据源来自软件,因此无法在 db 上链接,它的内存数据和我所做的只是将它们放入数组中并将它们作为我的 oraclecommand 的输入参数传递,然后我运行。

在这种情况下,使用存储过程会有什么不同吗?为什么?

插入实际上是在一个事务中,但我尝试插入的表中根本没有索引,数据库它是一个带有 100 个表的 Oracle XE 的常规安装,事务只包括这个插入和其他一些不太大的操作。我尝试插入的总数据最大为 100 Mb...我不知道我应该再次检查什么:(

再说一遍:事务似乎不会影响性能并且速度不是线性的,即 1000 个元素 = 10 分钟,4000 个元素 = 3 小时 .. 全部使用 100% 的 cpu 和大量的内存使用

0 投票
4 回答
24866 浏览

c# - Oracle Instant Client 和实体框架配置问题

我正在尝试学习并弄清楚是否可以将 MVC、EF、ODAC 11.2.0.3 应用程序部署到安装了以前版本的 ODP.NET 的服务器上。我认为我可以使用 Oracle Instant Client,而不是更新服务器 ODP.NET(我不能)。

这是可行的吗?

1) 我将这些 dll 添加到我的项目中以支持 Instant Client

-Oracle.DataAccess.dll

-oci.dll

-ociw32.dll

-orannzsbb11.dll

-oraociei11.dll

-OraOps11w.dll

2)接下来我更新了 dbProviderFactories 的 web.config

3)这(afaik)是如何在bin中使用Oracle dll而不是GAC

4)最后我的connectionString

这是我收到的错误无法找到请求的 .Net Framework 数据提供程序。它可能没有安装。

我非常感谢这里的任何帮助。我比较新,还有很多东西要学。提前致谢。干杯

0 投票
0 回答
193 浏览

visual-studio-2010 - 安装 odac 作为部署包的一部分

需要与 Forms 应用程序一起安装 ODAC 组件。我正在使用 VS2010 发布向导将包部署到 UNC 路径。如何在单个部署包中部署和安装 ODAC 组件 (odp.net4) 和 Insta-client?

0 投票
1 回答
225 浏览

asp.net - 更新Oracle 11g 存储过程时是否必须重新启动IIS WebApp?

我有一个 ASP.NET webapp,它通过 ODAC(Oracle .NET 数据提供程序)使用 Oracle 11g 存储过程

我意识到更新存储过程似乎经常会破坏网站,必须重新启动才能再次工作。

有没有人体验过 .NET 和 Oracle 之间的这种强耦合?