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

java - Java/Oracle:在循环的第二次迭代中执行准备好的语句失败(并非所有变量都绑定)。为什么?

我正在调试一个 Java 应用程序,它通过一个瘦客户端连接到 Oracle DB。

代码如下所示:(我试图在这里简化用例,如果 t 实际上没有出现,请原谅我)

当我运行此代码时,会发生以下情况:

  • 循环的第一次迭代,currency设置为“CAN”。

  • 循环的整个代码运行良好。

  • 循环的第二次迭代,currency设置为“USD”。

  • 调用抛出 SQLException ,"execute()"如下:

    ORA-01008: not all variables bound

为什么?

我最初的怀疑是它在某种程度上与registerOutParameter在 2d 迭代中没有被调用的循环之前的调用有关。但是在循环内移动该调用并不能解决问题。似乎execute()调用取消绑定了一些东西,但在循环内同时拥有两个绑定并没有帮助。

我错过了什么?

如果这是显而易见的事情,请保持温和 - 我对 Oracle 和瘦客户端知之甚少,并且在谷歌上搜索各种花哨的查询并没有得到任何回报。

一个额外的线索:当应用程序在带有 OCI 驱动程序的 Oracle 9 上时,这种设计似乎已经奏效了。我调试它的原因是有人将它“升级”到 Oracle 10.2 thi 客户端并且它坏了。

我的下一步可能应该将整个CallableStatement循环引入循环,但这会破坏我为什么首先使用准备好的语句的整个想法,不是吗?

0 投票
1 回答
363 浏览

c# - pl/sql 查询和 .net 的奇怪行为

我运行此查询以使用 OracleCommand 读取带有输出参数的记录计数:

这个工作正常。

但是,如果我将查询分成两行,如下所示:

我得到以下异常:

有人知道为什么吗?

谢谢你的帮助。

0 投票
1 回答
502 浏览

oracleclient - Oracle 客户端调优?

有没有办法调整 Oracle 客户端(InstantClient 或普通客户端)?

我们有一个在多个 DMBS(MySQL、PGSQL 和 MS SQL Server)上运行的软件我想知道为什么该产品的 Oracle 版本比其他版本消耗更多的资源。

更新:我正在使用 C++ API (OCI)。

0 投票
1 回答
8547 浏览

.net - 如何编译网站以在 64 位 Windows 上使用 32 位 Oracle 客户端

我在更新到 64 位 Windows 7 然后运行现有的 .NET 网站后收到此错误。

[InvalidOperationException:尝试加载 Oracle 客户端库时抛出 BadImageFormatException。在安装了 32 位 Oracle 客户端组件的 64 位模式下运行时会出现此问题。]

我只安装了 32 位 Oracle 客户端,并且我知道在我的 64 位开发机器上,除非明确说明,否则应用程序需要 64 位库。这是我到目前为止所做的搜索。

我已经读到我可以将解决方案平台更改为 x86,这将指示应用程序使用 32 位(如果它找到的话)。我想这样做,但 Visual Studio 解决方案中的网站没有 x86 选项。

我创建了一个测试应用程序,我可以选择,我创建了一个测试网站,但它没有。如何将网站编译为 x86,以便使用 32 位 Oracle 客户端。

干杯

0 投票
1 回答
563 浏览

asp.net - ASP.NET 到 Oracle 数据库 (ODP.NET):如何指定要使用的 Oracle 客户端?

我们有一个 Web 服务器,上面有多个 oracle 客户端(8i、9i、10g)。ODP.net 9.x 和 10.x(以及它们的 oo4o 对应)组件都已安装。

我如何指定 Web 应用程序在连接到数据库时使用哪个 Oracle/ODP.net 客户端?

0 投票
3 回答
4251 浏览

oracle - 命令行修改 tnsnames.ora

是否有用于修改 oracle 客户端的 tnsnames.ora 文件的命令行实用程序?

[编辑] 我正在寻找类似于 odbcconf.exe 的东西(用于在 Windows 上编辑 ODBC 连接)来修改 tnsnames.ora 文件。

[EDIT2] 我正在使用我的自动构建脚本中的 MSBUILD。MSBuild 社区任务项目有一个完全符合我需要的AddTnsName 任务。我的谷歌搜索技能一定很弱。我应该一直在搜索 MSBuild 和 tnsnames.ora 而不是命令行 tnsnames.ora。然而,令我惊讶的是,Oracle 没有为 tnsnames.ora 提供像 odbcconf 这样的命令行实用程序。

0 投票
5 回答
35039 浏览

oracle - 更改 Oracle 客户端注册表中 NLS_LANG 设置的影响

我们正在从 .NET Microsoft oracle 驱动程序迁移到 ODP.NET 驱动程序。

我们遇到的问题之一是这个错误:

ORA-12705: 无法访问 NLS 数据文件或指定的环境无效

我们能够通过修改注册表和更改设置来停止错误(见这个问题

在我们的例子中,我们改变了

HKEY_LOCAL_MACHINE - SOFTWARE - ORACLE - NLS_LANG

设置为 NA

HKEY_LOCAL_MACHINE - SOFTWARE - ORACLE - HOME0 - NLS_LANG

设置正确

我的问题是为什么注册表中会有不同的 NLS_LANG 设置,并且更改此值是否会产生任何影响?


更新:我刚刚在Oracle NLS FAQ中找到了以下内容

对于 Oracle 版本 7:

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

对于 Oracle 数据库版本 8、8i 和 9i:

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx\

其中“x”是标识 Oracle 主目录的唯一编号。

HOME0是第一次安装

对于 Oracle 数据库 10g:

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_<oracle_home_name>

在那里你有一个名字的条目 NLS_LANG

好的,所以不同版本有不同的注册表设置......

笔记:

有些人在 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 未安装版本 7 时发现 NLS_LANG 设置为“NA”而感到困惑。这用于向后兼容,可以忽略。

我有 Oracle 9i,所以现在我更加困惑 - 为什么 ODP.NET dll 查看 Oracle 7 注册表设置?

0 投票
4 回答
2730 浏览

oracle - 如何浏览 Oracle 服务器上的数据库?

所以我来自一个 SQL Server 开发人员的职位,他在时间的迷雾中编写了一点 PL/SQL,但实际上一无所知。

我有一台笔记本电脑,它运行 Oracle。笔记本电脑上有一个数据库,我需要查看它,但我和我能与之交谈的任何人都不知道它叫什么。

我有几个登录名,其中一个据称是管理员登录名。

浏览服务器上的数据库然后连接到数据库的最简单方法是什么?

我怀疑我对 SQL Server 中服务器、用户和数据库之间关系的假设让我误入歧途,但现在我无法理解 Oracle 提供的客户端工具是某人的笑话,但我真的没有找到它好笑。

我很确定正在运行的是 9.2 版。

很高兴提供更多信息,但现在我不知道从哪里开始。

0 投票
1 回答
1408 浏览

asp.net - 使用 System.Data.OracleClient 设置 IIS

我有一个连接到 Oracle 10.2g 数据库的 asp.net Web 应用程序。如果我在 Visual Studio 2008 网络服务器中运行我的网站,一切都很好,但是当在 IIS 中发布它时,会得到“System.Data.OracleClient 需要 Oracle 客户端软件版本 8.1.7 或更高版本”。

我添加了 ASPNET、经过身份验证的用户甚至每个人的所有权限,但仍然不起作用。

我不知道还能尝试什么。我似乎很清楚这是一个 IIS 问题,因为该站点在 VS2008 集成网络服务器中运行良好。我正在使用 IIS 5.1。

提前致谢!

0 投票
1 回答
5692 浏览

c# - Oracle 客户端和 IIS 问题

继续讨论从 .NET 连接到 Oracle DB 所需的最小占用空间。我已经设法在没有安装的情况下设置一切正常工作(只需复制所需的文件)。但是当我尝试将代码作为 IIS (7.5) 应用程序运行时,出现以下错误:

根据我的阅读,这可能是一个权限问题,但我尝试了很多方法(设置文件的访问权限、更改应用程序池用户、使用 ProcMon 进行监控等)以使其正常工作,但没有利用。有人对如何解决这个问题有任何想法,还是我应该放弃并安装即时客户端?

我知道devart 的 Oracle 客户端,但不幸的是,这不是一个选择。