问题标签 [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.
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 位组件。
提前致谢!
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 告诉我没有这样的工具为甲骨文。
有没有人遇到过这样的事情?
问候,克里斯
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:
- Which Tnsname.ora will be used to connect to database?
- 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.
- 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?
- Finally after installation of server and client, VS 2010 still does not offer me Oracle Providers in ASP.NET Configuration
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查询:
提前致谢。
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,它现在工作正常。我不明白为什么会这样。
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(通过手动编辑文件)?或者,是否有某种方法可以根据构建机器的体系结构有条件地引用库,如此处所示(不完全确定问题是什么,但这可能是一个解决方案)?
c# - Oracle 中的批量插入性能
我尝试了很多解决方案,但我仍然不明白:我有一个简单的插入(有 40 个不同类型的列(包括 blob),我尝试插入这种数据传递(我使用来自 c# 的 Odac)值数组对于每个参数。
结果是一次或多或少地调用 ExecuteNonQuery 4000 行,问题是这个插入没有那么多元素持续 3 小时。
有什么建议吗?数据源来自软件,因此无法在 db 上链接,它的内存数据和我所做的只是将它们放入数组中并将它们作为我的 oraclecommand 的输入参数传递,然后我运行。
在这种情况下,使用存储过程会有什么不同吗?为什么?
插入实际上是在一个事务中,但我尝试插入的表中根本没有索引,数据库它是一个带有 100 个表的 Oracle XE 的常规安装,事务只包括这个插入和其他一些不太大的操作。我尝试插入的总数据最大为 100 Mb...我不知道我应该再次检查什么:(
再说一遍:事务似乎不会影响性能并且速度不是线性的,即 1000 个元素 = 10 分钟,4000 个元素 = 3 小时 .. 全部使用 100% 的 cpu 和大量的内存使用
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 数据提供程序。它可能没有安装。
我非常感谢这里的任何帮助。我比较新,还有很多东西要学。提前致谢。干杯
visual-studio-2010 - 安装 odac 作为部署包的一部分
需要与 Forms 应用程序一起安装 ODAC 组件。我正在使用 VS2010 发布向导将包部署到 UNC 路径。如何在单个部署包中部署和安装 ODAC 组件 (odp.net4) 和 Insta-client?
asp.net - 更新Oracle 11g 存储过程时是否必须重新启动IIS WebApp?
我有一个 ASP.NET webapp,它通过 ODAC(Oracle .NET 数据提供程序)使用 Oracle 11g 存储过程
我意识到更新存储过程似乎经常会破坏网站,必须重新启动才能再次工作。
有没有人体验过 .NET 和 Oracle 之间的这种强耦合?