问题标签 [oci8]

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 投票
4 回答
1998 浏览

php - PHP 和 Oracle 可以相互传递复杂类型吗?

我想使用 PHP 将 (key1, key2) 数组传递/绑定到 Oracle PL/SQL 存储过程。我能够绑定原始类型和原始类型数组,但还没有找到一种来回传递复杂数据类型的方法。

这是不受支持的吗?到目前为止,我不得不传递多个数组——一个用于我复杂类型中的每个子类型的数组——然后依靠它们的索引在过程中重构它们。

0 投票
0 回答
434 浏览

php - 如何将 PHP 5.1 连接到 Oracle 7?

我已经能够使用带有 Oracle 10.2 Instant Client 的 PHP oci8 扩展来查询较新的 Oracle 数据库。不幸的是,Oracle Instant Client 似乎无法连接到 Oracle 7 数据库(准确地说是 7.3.3 版)。

有没有办法从 PHP 查询旧的 Oracle 数据库?

0 投票
2 回答
1890 浏览

ruby - “要求”上的 OCIError;权限问题?

我最近才开始在工作中学习/使用 Ruby。我有一个超级简单的测试脚本,它只连接到我们的 Oracle 10g 数据库,运行一个选择,然后将结果“显示”到屏幕上。这是在 Solaris 10 服务器上。如果我以“应用程序”用户(运行我们的自动化脚本的系统用户)身份运行脚本,则脚本运行良好。如果我自己运行它,则会引发错误:

我的环境变量与“应用程序”用户的匹配。我假设这是某个文件/目录或其他文件/目录的权限问题,但我不知道从哪里开始寻找。oci8.rb 文件中的第 25 行是“require 'oci8lib_18'”指令。我已经读取并执行了 oci8lib_18.so 文件和指向它的目录的权限,但我不知道需要访问哪些目录。

有人对我应该检查权限的文件/目录有什么建议吗?或者关于问题可能是什么的任何其他想法?

更新我一直在与支持 OCI8 的人发送电子邮件,结果发现几个 Oracle 目录具有阻止我登录访问所需信息的权限。一个简单的测试是尝试运行 sqlplus,它也失败了。

戴夫

0 投票
1 回答
362 浏览

php - ADO MoveFirst 和 EOF、BOF 是否有 OCI8 替代品?

我正在研究将带有 ADO 记录集和 Oracle 数据库的经典 ASP 编写的应用程序移植到 PHP5 和 OCI8 的可能性。我们有很多存储过程和带有绑定变量的查询以提高性能。

我的问题是我们已经因为使用 ADO 类和 EOF 和 BOF 指示器以及 MoveFirst、MoveNext 和 MovePrevious 变得懒惰。

我在 OCI 模块中找不到任何类似的功能。有希望吗?

0 投票
3 回答
2204 浏览

oracle - oci8 上的 Ubuntu 错误

我已经按照电子书Underground Oracle-PHP-manual在 ubuntu 中安装了 oracle xe 10g、apache、php 。但是当我使用 oci_connect() 运行一些文件连接 oracle-PHP 时显示错误:

请帮忙 !!!

0 投票
4 回答
26035 浏览

php - 如何为 xampp 安装 oracle 即时客户端

我安装了适用于 Windows 1.7.3 的 XAMPP。

我正在使用 Zend Framework,需要使用 pdo_oci8 扩展。我已经启用了扩展 - 但现在得到它找不到 oci.dll 文件的错误。

我已经从 oracle 下载了 instantclient_11_2 zip 文件。解压它。它包含一堆dll文件。

我如何在 Windows 上安装它?我是否需要运行 cmd 提示符或将其移动到 xampp 下的特定文件夹?

0 投票
2 回答
17248 浏览

php - 如何使用 Oracle SQL 查询先按数字排序?

我有一个带有 varchar2 的“标题”字段的表,我想选择所有行并首先按数字对它们进行排序,然后按通常发生的字母排序。

例如,我目前ORDER BY title在最后使用一个简单的方法得到这个:

  • 美国广播公司
  • 定义
  • 321

但我想要这个:

  • 321
  • 美国广播公司
  • 定义

奇怪的是,SQL Developer 显示了“正确”的顺序,数字在前。但在我的应用程序(使用 OCI8 的 PHP)上,它最后显示数字。

0 投票
2 回答
1563 浏览

php - 连接到与 PHP 不同的服务器上的 Oracle 数据库

您好,我有一个位于远程服务器上的数据库引擎,而我的网络服务器在本地。我已经在客户端-服务器架构上工作了很多,其中服务器同时具有 Web 服务器和数据库引擎。现在我需要连接到位于不同服务器上的 Oracle 数据库。

任何人都可以给我任何建议吗?我相信 ODBC_CONNECT 可能不起作用。我是否使用 OCI8 驱动程序?我将如何连接到我的数据库服务器。

此外,我会有非常多的数据库调用来回调用,那么使用持久连接好还是我仍然使用单独的数据库调用?

0 投票
1 回答
518 浏览

php - Oracle 异常显示为 PHP 警告而不是错误

我正在使用 oci8 接口与 Oracle 数据库进行交互。

我的问题是,每当 Oracle 代码使用适当的消息和代码引发异常时,PHP 都会发出警告而不是错误。

我需要访问错误代码,但 oci_error 总是返回 false(可能是因为它是警告而不是错误)。

有什么方法可以使这些警告显示为错误并正确填充对 oci_error 的调用?

0 投票
2 回答
153 浏览

php - 访问事务以提交或回滚的首选方法是什么?

我了解事务如何工作以及一切按预期运行,但我不喜欢访问连接以提交或回滚事务的方式。

我有 3 个服务类可以访问同一个单例连接对象。我想将这三件事包装在一个事务中,所以我这样做:

getSingletonConnection 返回的连接对象只是 oci8 连接的包装器,提交是oci_commit; 回滚是oci_rollback

正如我所说,这是因为它们都在访问同一个连接,但是通过任意服务对象访问连接感觉不对。此外,我的应用程序中使用了两个不同的数据库,因此我需要确保检索并提交正确的数据库……但不确定是否有任何解决方法。

有没有更好的方法来处理交易?