问题标签 [oracleclient]

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 投票
5 回答
20127 浏览

c# - ORA-01008 绑定了所有变量

我正在使用System.Data.OracleClientwhich 按名称进行参数绑定,并正在验证 CommandText 和 Parameters 是否同步:

仍然有一个查询抛出ORA-01008: not all variables bound。当手动将参数值插入有问题的 CommandText 时,查询会运行,因此 CommandText 和参数值应该没问题。我使用 : 作为变量和参数名的前缀,它适用于其他查询。

如何查明此异常的原因?

0 投票
1 回答
2564 浏览

c# - Oraclebinary:在 C# .NET 中读取数据

我正在尝试使用 C# .NET 中的 System.Data.OracleClient 命名空间从 Oracle 读取一些二进制数据。

如何将数据从 OracleBinary 类值转换为整数?

在此数据库的文档中,列定义读取数据类型为 LONG RAW 和“以二进制大对象 (BLOB) 格式存储的值”。

我期待来自 BLOB 的一些整数(负数和正数)。

不确定是否有人可以提供帮助,因为我无法再询问管理员(继续前进)。如果有人能指出我的方向,我将不胜感激。

编辑:只是为了扩展(我错过了一些信息)blob包含的内容:

位置日志值的向量,其中第一个元素是第一个测量深度值,第二个元素是第一个真实垂直深度值,第三个元素是第一个 x 偏移量,第四个是第一个 y 偏移量,第五个是第二测量深度

非常感谢罗

0 投票
11 回答
75743 浏览

visual-studio-2010 - 使用 64 位 Oracle 客户端和 Visual Studio 2010 时出现 BadImageFormatException!

我们的一位开发团队成员遇到了错误

尝试加载 oracle 客户端库抛出 BadImageFormatException

它似乎

在安装了 32 位 Oracle 客户端组件的 64 位模式下运行时会出现此问题。

但配置系统的是我——规格如下:

  • Windows 7 64 位
  • Visual Studio 2010 高级版
  • Oracle Client 11g R2 64Bit 作为运行时安装

有什么想法吗?

0 投票
2 回答
154 浏览

c - 内存分配问题?

我在 unix 服务器中执行 Proc 代码,proc 将从文件中读取记录并将数据存储在结构数组中,经过一些处理后会产生输出。当我从文件中读取 368700 条记录时,代码中的进程意味着它的执行良好。但是当我尝试从文件和进程中读取 370000 条记录时,我收到一条错误消息ORA-12533: TNS:illegal ADDRESS parameters and illegal address。此错误的原因和可能的解决方案是什么?

我已经完成了如下的内存分配:

0 投票
4 回答
8742 浏览

.net - 连接关闭时DataReader未关闭,后果?

例如我有这个代码:

当连接关闭时数据读取器会发生什么(Conn.close)

数据读取器使用的光标会被释放吗?还是会保持开放?

如果数据读取器使用的游标仍然打开,什么时候会自动关闭?还是我应该手动关闭它?

它会导致可怕的“ORA-01000:超出最大打开游标”吗?

提前致谢

0 投票
4 回答
6911 浏览

.net - .Net 中的 Oracle Datareader - 速度太慢(通过网络)

在我收到“您尝试过 ODP.net 吗?”之前 答案,是的,我有并且现在正在使用它。

我正在将数据从 oracle 移动到 sql server(不重要),并且在 oracle 连接上使用数据读取器。较大的表正在爬行。有时糟糕到每秒 10 条记录。当我注意到性能问题时,我将源代码缩减为仅对整个表进行简单的 Reader.Read() 调用,因此没有其他任何东西会减慢它的速度。我已经尝试过 MS 和 Oracle ODP .net 客户端。我目前正在使用 11g Instant Client、win7 64bit 上的 64bit、8 gigs ram 和所有好东西。我在本地网络上使用过,目前在VPN上,性能基本相同。我已经调整了 Prefetch 大小,但没有结果。

我可以在 Oracle Sql DEveloper 工具中运行导出数据功能,并在同一台机器上,通过同一网络,以大约 100 倍的速度导出整个数据库的所有数据。

我可以将我的 .net 应用程序复制到 oracle 服务器并在其上运行相同的性能测试,不到一秒就完成了。

因此,不是网络本身变慢,也不是数据量(如 SqlDeveloper 导出所示),不是 .net 代码本身,也不是 oracle db(如在服务器上运行所示),所以它必须是在任何网络上使用的 Datareader 的某种组合。

是我的即时客户端安装吗?成熟的客户端性能更好吗?64位客户端搞砸了?真是不知所措。

更新:

从那以后,我运行相同的应用程序,编译为 32 位,并在安装了“完整”oracle 客户端(显然是 32 位版本)的 windows xp 虚拟 pc 实例上运行。即使虚拟机的性能有所降低,它的运行速度仍然快了近 10 倍。因此,Instant 客户端肯定存在某种问题,而我的猜测是 64 位 Instant Client。确认这一点的最后一个测试是在同一台机器上安装一个 32 位即时客户端并再次运行它。如果我能找到时间...

0 投票
2 回答
4085 浏览

.net - Oracle 连接到 .Net - 连接池

这更具体地说是 SQL Server Reporting Services,但我也将此视为典型的 .Net 应用程序问题。

这是问题所在。我们正在使用 SSRS 报告来自 Oracle 数据库的数据。从第一天开始,我们的用户就抱怨他们收到诸如 ORA-2396: Exceeded maximum idle time, ORA-01012-Not logged on 等错误。

我们包括 DBA、应用程序开发人员、网络工程师,但到目前为止,我们找不到任何更好的线索。

最近在进行一些研究时,我观察到许多人已经记录了 .Net 与 oracle 连接的一个“已知”问题。正如他们所提到的,如果我们使用连接池,则池中甚至可能存在无用的连接。在下一次请求时,此连接可能会被使用,此时将引发错误。正如我们的 DBA 所确认的,我们的 oracle 实例设置为在空闲 X 分钟时终止连接。

以下是上述提到的链接 http://msdn.microsoft.com/en-us/library/8xx3tyca(v=VS.90).aspx

http://www.codeproject.com/KB/dotnet/ADONET_ConnectionPooling.aspx

还有几个。但是,我在任何地方都没有得到非常确认的声明,表明是的,这是当前(.Net 和 oracle 等的最新版本)的问题。

在解决方案部分,他们提到我们将使用“Validate Connection=true”属性作为连接字符串的一部分。但如果我尝试使用它,它会显示“不支持关键字 - 验证连接”。(我也试过Validcon)

我的问题是这些 1. 是否确认存在从连接池读取的“脏”问题?2. 如果是,有什么解决办法?3. 如果不是,是什么导致了我们的问题。

如果您需要更多信息,请随时发表评论。

0 投票
2 回答
8129 浏览

oracle11g - tnsping 失败,但可以通过 sqlplus 连接到 Oracle DB

我在 Windows XP 机器上安装了 Oracle Client v. 11.2.0.1 并设置了 TNS_ADMIN 和 ORACLE_HOME 环境变量。

使用 sqlplus 通过 TNS 别名连接到远程数据库可以正常工作:

但是对相同别名的 tnsping 会导致以下错误:

对于类似的问题(即此处的 Stack Overflow 上),tnsping 至少能够从别名中解析连接字符串。在这种情况下并非如此。这使我相信某些环境变量丢失或指向错误的位置。任何建议,将不胜感激。

0 投票
1 回答
4369 浏览

c# - ODP.NET - 无需安装即可部署 ORACLE CLIENT - oraociei11.dll 很大

我在我的 WPF 应用程序中使用 ODP.NET 来访问 Oracle 10g db。我不想在用户计算机上安装 oracle 客户端,所以我将这些 dll 复制到 realese 文件夹:

  • oci.dll
  • ocijdbc11.dll
  • ociw32.dll
  • Oracle.DataAccess.dll
  • orannzsbb11.dll
  • orasql11.dll
  • OraOps11w.dll

  • oraocci11.dll - 706 KB

  • oraociei11.dll - 126,55 KB

我认为最后两个 dll oraocci11.dll 和 oraociei11.dll 具有相同的功能,但 oraociei11.dll 真的很大。

我想从我的项目中删除 oraociei11.dll。我做到了,但如果我在 realease 文件夹中没有 oraociei11.dll,应用程序会崩溃。

也许我错了,他们没有相同的功能

可以删除此 dll。

0 投票
1 回答
482 浏览

asp.net - 从 oracle DB 检索数据时,Asp.net Web 应用程序崩溃

我在 windows server 2003 上有一个 asp.net 网站。应用程序连接到 oracle 10g R2 数据库,数据层由 subsonic 生成。数据库和应用程序分别位于不同的服务器上。

在开发机器上,应用程序运行正常。但是在生产服务器上,与数据库通信的页面中发生服务器错误

问题是错误不会一直发生,它会打开和关闭,我无法调试它,因为它不会在本地发生。如果我刷新页面。一切正常。但再次刷新错误可能会再次显示。我们开始收到 oracle 客户端错误,例如:

我认为错误是由于过载或性能造成的。

有人对上述问题有想法吗?