问题标签 [cx-oracle]

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 投票
1 回答
831 浏览

python - 覆盖外部库中的 python 实例方法

我为数据库连接编写了一个上下文管理器。我想覆盖来自外部类的方法(cx_oracle.Cursor 中的“执行”),以便在将查询传递到数据库之前删除任何无关的绑定变量(否则它们会导致 DatabaseError)。他们为什么会在那里开始的问题是正交的。

以下工作,但我想知道我是否在这里正确使用了_ getattribute _(之前真的没有借口使用它)。

我也是“全神贯注”......呃眼睛......如果有人对如何从这个外部库中覆盖这个方法有更好的建议。

谢谢。我正在使用 python 2.7

0 投票
2 回答
774 浏览

python - 为什么 cx_Oracle 和 sqlplus 对同一个选择查询给出不同的结果

通过使用 Python 和 cx_Oracle,我正在尝试向表中插入行。

从输入文件中插入所有行后,通过使用 cx_Oracle 中的选择查询,我可以看到插入的行。但是,当我输入“select * from table;”时,sqlplus 没有给出任何结果。我是否错过了 cx_Oracle 的某些内容,或者 oracle 客户端中是否有一个缓冲区在连接到远程数据库时显示 sqlplus 的旧结果?

0 投票
1 回答
940 浏览

python - 当 python 脚本作为 win32 服务启动时导入 cx_oracle 失败

我编写了一个 python 脚本,它应该通过子类化作为 Windows 服务运行win32serviceutil.ServiceFramework。在脚本cx_oracle中使用了模块。

当我在调试模式 ( python DLOGprod.py debug) 下运行服务时,一切正常。但是当我尝试启动服务(python DLOGprod.py start)时,导入cx_oracle模块失败并出现错误:

import cx_Oracle ImportError: DLL load failed: 找不到指定的模块。

我确实cx_oracle.pyd用dependency walker查看了文件,它报告了两个丢失的dll文件MSVCR90.DLLIESHIMS.DLL.

我有以下设置:

  • 蟒蛇2.6.6
  • pywin32-214
  • cx_oracle_5.0.4-11g

任何帮助将不胜感激

标记

0 投票
1 回答
1921 浏览

python - 从 cx_oracle 游标中检索时区感知日期时间对象的正确方法是什么?

cx_oracle 返回or类型datetime的列的实例,但这些 datetime 实例不知道时区。TIMESTAMPTIMESTAMP WITH TIME ZONE

例如:

如您所见,MYCOL 是一个可识别时区的 TIMESTAMP。我希望以下内容会返回一个包含 tzinfo 数据的 Python 日期时间对象。然而:

那个 datetime 对象不知道时区,所以我不能在我的应用程序中可靠地使用这个日期。

将此列作为时区感知的日期时间对象检索的最佳方法是什么?

0 投票
1 回答
1707 浏览

python - 在 cx_Oracle 上执行许多 CLOB 元素

我有一个函数可以将一大块数据插入到 oracle 数据库中。我正在尝试通过使用 executemany 来实现这一点。

我的功能如下所示:

许多表都使用此函数,如果这些表中没有 CLOB 列,则可以正常工作。只有当 chunksize 设置为 1 或 2 时,它才适用于具有 CLOB 列的表。有时它适用于 3,但大多数时候它不适用。当块大小为 4 时,我什至让它工作了一次。我正在使用这个函数将块大小设置为 1000 左右以加快进程。

当 chunksize 设置为 3 时,有时会返回以下错误:

ORA-24813: 无法发送或接收不受支持的 LOB。

有时它说中止并停止脚本。

知道为什么这个脚本每次使用相同的参数运行时都会有不同的行为吗?

0 投票
3 回答
16910 浏览

python - 如何在 RHEL 上为 Python 安装 cx_Oracle?

我正在使用 Active Python,因为我不想被旧版本的 Python 卡住。我安装了即时客户端,并将导出添加到我的 bash 配置文件中,但我收到了这个神秘的错误:

0 投票
1 回答
3712 浏览

python - 设置 Cx_Oracle

我在跑步 ...

使用 Python 版本 2.7.1

我为 Oracle 10g 安装了 32 位版本的 cx_Oracle 但我得到了

当我尝试导入时。

我检查并我的%ORACLE_HOME%环境变量设置为安装我的 Oracle 客户端的目录。

我能想到的唯一问题是为 Oracle 10g 制作的 cx_Oracle 是指客户端是 10g(我的是 9)而不是数据库(我的数据库是 10g)......或者 cx_Oracle 模块是“32 位”是指我的远程数据库是 32 位而不是我的本地计算机。我已经尝试了一些不同的版本,但无济于事。

谢谢。

编辑:

另外,有人告诉我 Oracle 9 应该与某些版本的 cx_Oracle 一起使用。但是哪些版本呢?我找不到这样的版本。这里有什么解决办法吗?

编辑:

我已在本地计算机上更新到 Instantclient 10.2。但是,现在我可以很好地导入 cx_Oracle,但是当我尝试建立连接时,我得到以下信息:

0 投票
2 回答
734 浏览

reflection - SQL Alchemy 和 CX_Oracle 反射问题

我在使用 cx_Oracle 版本 5.1 (autoload=True) 反映 Oracle 中的表时遇到问题。在 cx_Oracle 5.0.4 版下一切正常。这是我得到的错误:

不知何故,发送到 oracle 的查询没有正确替换表名和模式。有没有人见过这样的事情并有解决方案?我想避免为所有表手动定义列。如果可能的话,我也想使用最新版本。

0 投票
1 回答
3478 浏览

python - cx_Oracle executemany 与 CLOB

我正在尝试解析多个 CSV 并使用 cx_Oracle 将它们的数据插入到表中。我使用execute插入表没有问题,但是当我尝试使用executemany执行相同的过程时出现错误。我使用执行的代码是

但是当我用

尝试插入具有 CLOB 列且数据超过 4000 字节的表时,出现“ValueError:字符串数据太大”。当表没有 CLOB 列时,Executemany 效果很好。有没有办法告诉 cx_Oracle 在执行时将适当的列视为 CLOB?

0 投票
2 回答
8136 浏览

python - Python-Oracle 传入游标输出参数

我正在尝试在 python 和 oracle db 之间调用存储过程。我遇到的问题是传递一个游标输出参数。

Oracle 存储过程本质上是:

调用数据库的python代码是:

错误是:

我还尝试将字典作为关键字参数传递:

返回相同的错误。

谢谢。