问题标签 [oracle-call-interface]
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.
c++ - Oracle OCI 数组获取简单数据类型?
我无法理解 Oracle 文档。:-(
有人知道如何通过 OCI 从 Oracle 获取多行简单数据吗?
我目前使用OCIDefineByPos
定义单个变量(我只需要对简单的整数执行此操作 - /4 字节整数),然后使用/SQLT_INT
一次获取一行。OCIStmtExecute
OCIStmtFetch2
这对于少量数据是可以的,但每行大约需要 0.5ms,所以当读取几万行时,这太慢了。
我只是不明白OCIBindArrayOfStruct
. 如何一次获取几千行?
php - 如何设置 OCI 以从 PHP 连接到 Oracle?
在最新的 Ubuntu 上,我有一个正常运行的 PHP 5.2.4 安装。我想使用 OCI 从 PHP 中使用远程 Oracle 服务器。
我已经下载了“Instant Client Package - Basic Lite”(链接)。我已经将包含 OCI 库的包解压缩到一个目录,但我不知道如何告诉 PHP 我想使用这些库。可以预见的是,我得到
致命错误:在...中调用未定义的函数 oci_connect()
运行此代码时:
我不想用 Oracle 支持重新编译 PHP。连接 PHP 以便我可以使用 Oracle 的最快方法是什么?如果我想连接到远程 Oracle 实例,是否需要任何其他库,例如 Oracle 客户端?
oracle - 如何找出上次更新 Oracle 表的时间
我能否查明对 Oracle 数据库中的表执行最后一次 INSERT、UPDATE 或 DELETE 语句的时间?如果可以,如何查明?
一点背景:Oracle 版本是 10g。我有一个定期运行的批处理应用程序,从单个 Oracle 表中读取数据并将其写入文件。如果自上次作业运行以来数据没有改变,我想跳过这个。
该应用程序是用 C++ 编写的,并通过 OCI 与 Oracle 通信。它以“普通”用户登录 Oracle,所以我不能使用任何特殊的管理工具。
编辑:好的,“特殊管理员的东西”并不是一个很好的描述。我的意思是:除了从表中选择和调用存储过程之外,我什么也做不了。如果想在 2010 年之前完成,那么更改数据库本身的任何内容(例如添加触发器)都不是一个选项。
oracle - 使用 Oracle 调用接口 (OCI) 检测具有默认值的列
我正在优化消息传递系统中的定制数据库层以提高性能。
我正在使用 ORACLE OCI OCIDescribeAny 函数来获取有关数据库表中列的元数据。
如何使用 OCI 调用检查元数据以查看列是否设置了默认值(在其架构定义中)。
c - OCI 连接字符串...需要帮助
有谁知道用于 oracle 10g C API 的函数 OCILogon() 中的 dbname 参数的 OCI 连接字符串?
我知道您可以为服务指定 tnsnames.ora 条目,但它是否能够采用以下内容: oci:connect:myserver.com:1521/myservicename ?
oracle - 检测由 OCI OCIStmtExecute 调用更新的 ORACLE 行数
我有一个使用 OCIStmtExecute 函数调用的 ORACLE 更新语句。
使用 OCI 函数调用我想知道该操作已更新了多少行,例如零、一或更多。
我该怎么做呢 ?
c - 如何从 OCI 调用 ORACLE 函数?
我可以在 C 程序中通过 OCI 调用 ORACLE 存储过程,方法是为命令构造 SQL 命令,这是我的代码中的一个简短片段:
但是,我如何构造一个调用(在我的 C 程序中)具有以下签名的 ORACLE 函数:
要在 PL/SQL 中调用该函数,我将使用例如:
如何构造 SQL 字符数组 (sql_stmt) 以在我的 C 程序中调用 ORACLE 函数?
java - 尝试使用 OCI 连接到 Oracle 时 JVM 崩溃
我有三台机器设置如下:
- CompA:运行 Oracle 服务器 10.2.0.3
- CompB:运行 Oracle 服务器 10.2.0.4 和我的客户端代码
- CompC:仅运行客户端代码
在 CompB 和 CompC 上的客户端代码上,使用 Thin 驱动程序连接到任一 Oracle DB 都可以完美运行。
我正在尝试使用 OCI 驱动程序从客户端代码连接到每个 Oracle DB
从在 jboss 中运行的 Java 类内部。这在 CompB 上工作得很好,但会导致运行 Jboss 的 JVM 每次在 CompC 上进行核心转储。
CompC 可以使用 Sql*Plus 和 jboss 试图引用的同一 tnsnames.ora 文件连接到两个 Oracle 服务器。
这是堆栈跟踪的一部分。它似乎每次都是一致的。
有谁知道这里出了什么问题?
更新:为澄清起见,上面使用的“客户端”指的是我在 jboss 实例中运行的 java 代码。应该在 jboss 启动的 LD_LIBRARY_PATH 中找到的唯一 Oracle 库是 libocijdbc10.so libclntsh.so.10.1 和 libnnz10.so。这三个库和 jboss 服务器本身都在源代码控制中,因此它们在 CompB 和 CompC 上是相同的版本。
CompB 可以使用 OCI 和 Thin 连接到 CompA 和 CompB。CompC 无法使用 OCI 连接,但可以使用 Thin 连接到 CompA 和 CompB,因此它不应该是服务器版本问题。
CompB 和 CompC 都运行 32 位 Ubuntu 8.04,但 CompC 的 CPU 稍慢,只有 1GB 的 RAM,而 CompB 的 RAM 为 3.25GB。
c++ - 什么是 OCCI 上下文和环境?
我正在探索使用 Oracle API 的软件,据我所知,对象方法通常期望作为参数“OCCI 上下文”或“OCCI 环境”值。
一个示例是 Account 对象的构造函数:
后来重载
我可以理解它们与某种“连接处理程序”有关,但我想知道更多。
我四处搜索,但找不到任何对我来说足够清楚的东西,似乎每个文档都是从您已经知道 Oracle API 的假设开始的。
谢谢。
oracle - Oracle - OCI 查询超时
有什么方法可以设置 Oracle OCI 调用的超时时间(例如 OCIStmtExecute)?
谢谢