问题标签 [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.
python - 在 Python 中设置数据库连接超时
我正在创建一个需要访问数据库的 RESTful API。我正在使用 Restish、Oracle 和 SQLAlchemy。但是,我将尝试尽可能笼统地提出我的问题,而不考虑 Restish 或其他 Web API。
我希望能够为执行查询的连接设置超时。这是为了确保放弃长时间运行的查询,并丢弃(或回收)连接。这个查询超时可以是一个全局值,这意味着,我不需要在每次查询或连接创建时更改它。
给定以下代码:
如何修改上面的代码来设置查询超时?此超时是否也适用于连接创建?
这类似于 java.sql.Statement 的 setQueryTimeout(int seconds) 方法在 Java 中所做的。
谢谢
python - cx_Oracle 和输出变量
我正在尝试在 Oracle 10 数据库中再次执行此操作:
但我得到
是否可以以这种方式在 cx_Oracle 中定义 PL/SQL 块?
python - 为什么在进行 UPDATE 时需要显式提交?
这是我的代码:
如果我删除conn.commit()
,则表不会更新。但是对于选择语句,我不需要那个conn.commit()
. 我很好奇为什么?
python - 为什么 cx_oracle execute() 现在不喜欢我的字符串了?
我前段时间下载了 cx_oracle 并编写了一个脚本来将数据转换为 XML。我不得不重新安装我的操作系统并获取最新版本的 cx_Oracle (5.0.3),突然间我的代码被破坏了。
第一件事是 cx_Oracle.connect 想要 unicode 而不是字符串作为用户名和密码,这很容易修复。但是现在它在 cursor.execute 上一直失败并告诉我我的字符串不是字符串,即使 type() 告诉我它是一个字符串。
这是我多年前最初使用的测试脚本,在我的旧版本上运行良好,但现在不适用于 cx_Oracle。
当我运行时,我得到:
Traceback(最近一次调用最后一次):文件“C:\NetBeansProjects\Python\src\db_temp.py”,第 48 行,在 cursor.execute(sql) 类型错误:期待 None 或字符串
有谁知道我可能做错了什么?
python - 使用 cx_Oracle 时打印列名的更好方法
找到了一个使用 cx_Oracle 的例子,这个例子显示了Cursor.description
.
我想看的是Cursor.description[0]
(name)的列表,所以我改了代码:
我认为会有更好的方法来打印列名。请给我找 Python 初学者的替代品。:-)
python - cx_Oracle.OracleCursor 的类型验证
这可能是一个非常基本的问题。我想验证一个变量是 cx_Oracle.OracleCursor 的类型,所以我尝试了几次但都失败了:
如何验证 的类型cursor
?
另外一个问题是什么异常/错误适用于无效类型错误?
谢谢你的帮助!
python - cx_Oracle 中的 Unicode sql 查询
我有以下内容:
当我这样做时,我收到以下错误:
如果我将查询设为非 unicode(没有 u),它会通过但它什么也不返回
编辑:回复第一条评论:
NLS_LANGUAGE 是保加利亚语,
NLS_CHARACTERSET 是 CL8MSWIN1251
语言是 Python...
是的,有一条记录 cty_name = 'София'
连接只是:
python - 尝试导入 python 的 cx_Oracle 问题
我正在尝试在 linux RHEL x86_64 中的 Apache WS 中运行 python。
在安装和配置 Python2.5 和 Apache 之后,我将 Oracle Instant Client(基本和 sdk)安装在一个 .rpm 文件中,没有任何问题。
我设置了环境变量
然后通过 .rpm 文件安装 cx_Oracle 也没有任何问题。
当我尝试在 python 中导入 cx_Oracle 时,我收到了消息
我用谷歌搜索没有成功的答案。任何提示?
python - 将 cx_Oracle 部署到各种版本的 Oracle 客户端
我有一些使用 cx_Oracle 连接到 Oracle 数据库的小型 python 应用程序。我通过使用 py2exe 编译这些应用程序来部署它们,这在许多情况下都可以正常工作。
问题是,对于需要安装它的许多人来说,没有标准的 Oracle 客户端版本(例如 9i 和 10g),试图让每个人都在一个 Oracle 客户端版本上标准化会非常令人沮丧。我目前正在使用 9.2 客户端和 cx_Oracle 4.4.1 for 9i,所以当我 py2exe 生成的 exe 包含 cx_Oracle 4.4.1 库并且不适用于 10g 客户端。
我不使用任何 Oracle 版本的任何特定功能,因此我真的没有理由关心正在使用的客户端版本,除了 cx_Oracle 兼容性问题。
理想的解决方案是以某种方式编译一个完全独立于机器上安装的 Oracle 客户端的版本。
如果这不可能,我愿意为每个主要的 Oracle 版本(my_app_9i.exe、my_app_10g.exe 等)编译单独的 exe,但我什至想不出一个简单的方法来做到这一点,因为安装新的 cx_Oracle 会覆盖我的旧版本,每当我进行更改时,我都必须不断地来回交换库以编译其他版本。
欢迎任何建议或其他选择。
python - 使用 cx_Oracle 将长字符串数组(>4000 字节)传递给 Oracle (11gR2) 存储过程
我们需要使用 cx_Oracle 批量加载许多长字符串(>4000 字节,但 <10,000 字节)。表中的数据类型是 CLOB。我们将需要加载超过 1 亿个这些字符串。一件一件地做这件事会很糟糕。以批量方式进行,即使用 cursor.arrayvar() 将是理想的。但是,CLOB 不支持数组。BLOB、LOB、LONG_STRING LONG_RAW 也不行。任何帮助将不胜感激。