问题标签 [jaydebeapi]
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 的 jaydebeapi 批量插入 Oracle 数据库
我想将 SQLite3 文件中的数据批量复制到 Oracle DB,并使用该jaydebeapi
模块从 Python 脚本中以编程方式执行此操作。(我无法控制选择 Python + jaydebeapi 来执行此操作;它是由我正在合作的项目强加的。)
一种方法是将 SQLite3 表转储到临时 CSV 文件,并使用 Oracle 的LOAD DATA INFILE
命令读取 CSV 文件。
我正在寻找一种方法来实现相同的最终结果,避免创建中间临时文件。
更具体地说,由于我可以将 SQLite3 表批量读取到内存中(使用简单的SELECT
语句),我需要的是批量写入对应项,以便将表从内存转储到 Oracle 数据库中。
编辑:这是一个经常性的任务。要复制的最大表通常有 ~100K 行。
java - 使用 JDBC 连接到 Oracle 服务名称时出错 (jaydebeapi)
我尝试从 Raspberry pi 在 python 中发出 Oracle 请求。问题是:
“Oracle 不支持 Raspberry Pi 使用的 ARM CPU 架构。您下载并解压缩了 Oracle Instant Client,但它实际上无法运行。没有 Oracle 客户端库,cx_oracle 将无法工作,通用 Python ODBC 也无法运行连接器。”
但我需要 python,所以安装了 JPype 和 JayDeBeApi,我在 jupyter notebopok 上写了这个:
/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/arm/client/libjvm.so
但我有这个错误:
如何解决?
java - 来自覆盆子的 jaydebeapi 的问题类路径
我尝试从 Raspberry pi 在 python 中发出 Oracle 请求。问题是:
“Oracle 不支持 Raspberry Pi 使用的 ARM CPU 架构。您下载并解压缩了 Oracle Instant Client,但它实际上无法运行。没有 Oracle 客户端库,cx_oracle 将无法工作,通用 Python ODBC 也无法运行连接器。”
信息:
ojdbc6.jar 的位置是:
我需要 python,所以安装了 JPype 和 JayDeBeApi,我在 jupyter notebopok 上写了这个:
但我有这个错误:
我认为问题出在类路径上,但我仍然是初学者。要键入什么命令来配置它?
先感谢您 !
python - 使用 Python 和 Jaydebeapi 查询时间戳数据时出错
我在尝试查询 Denodo 中具有时间戳类型的数据字段时收到错误消息。我正在使用 python 3.7.3 和 jaydebeapi。
参考我在下面收到的错误,'%Y-%m-%d %H:%M:%S' 确实是该字段的格式,并且 '62690377-06-10 23:2' 没有出现在原始数据。
- 如果我将该字段转换为字符串,则查询可以正常工作。
- 我组中的其他用户能够使用相同版本的 Python 和 jaydebeapi 以及下面的代码片段来毫无问题地查询时间戳数据。
我尝试制作一个虚拟数据集来说明这个问题。有时在这种情况下,如果数据集很小,我不会收到值错误但输出是乱码,如下面的两组数据比较时可以看到的。
在 Denodo 中格式化为文本时的查询结果:
在 Denodo 中格式化为时间戳时查询相同数据的结果:
python - 在 python 上的 JayDeBeAPI 中设置 JAVA_HOME
我想用 JDBC 和 python 连接到一个 Oracle 数据库。我有一台 Windows 7 机器。我已经安装了jaydebeapi
软件包。
我的 Windows 7 机器安装了 32 位 JRE,安装 64 位版本不是一个选项。实际的 Windows 7 安装是 64 位。
我收到一个错误,说它找不到我的 JAVA_HOME。如何手动指定?
我得到的回溯:
python - 为什么我的查询没有从 VARCHAR 字段返回任何值?
我正在尝试使用带有 jaydebeapi 的 Python 从 Oracle 9i 数据库中查询一个表。它连接成功,光标和 fecth 似乎工作得很好,但是当我显示结果时,只有表格的数字字段可用。
我尝试了一些 Oracle 函数,如 TO_CHAR、SUBSTR 和 TRIM,以查看更改其值是否有助于显示它,但它们都不起作用。
预期结果是:
(0.0, 'NE99_TSR02X_TS9876_XY001', 'STARK TELECOM', '代理销售', '', 'Safra', 6.0, 1.0)
但我的代码显示:
(0.0, '', '', '', '', 'Safra', 6.0, 1.0)
不显示任何结果的字段是 VARCHAR2 类型。显示字符串“Safra”,但在我的查询中是硬编码的。
我尝试了其他表,但问题是相同的(仅返回数字字段)。
可能会发生什么?
python - Python - 如何循环一个结果集
我正在使用 Python 和 JayDeBeApi 连接到 Oracle 类型的数据库。
在 SELECT 的语句中,我需要获得大约 10+ 千条记录。
我第一次使用“fetchAll()”方法完成了,但这会加载我的内存,我不希望这种情况发生。
我使用以下代码获取光标:
而不是使用这种类型的代码:
我想做这样的事情:
这在python中可能吗?或者,是否存在比使用“fetchAll()”方法更好的方法?
谢谢
python - Python 使用 JAYDEBEAPI 连接 IBM DB2 错误:AttributeError: '_jpype.PyJPField' object has no attribute 'getStaticAttribute'
我正在使用以下代码(在 IBM 的官方页面上提供,[此处][1])来创建与 IBM DB2 的连接:
我收到以下错误:
AttributeError:“_jpype.PyJPField”对象没有属性“getStaticAttribute”
我该怎么做才能成功?
python - jaydebeapi executemany() 方法不能使用一个参数
jaydebeapi executemany() 方法不适用于仅包含一个参数的 sql 查询,但同时两个参数可以正常工作。
例如给定的查询不执行:
这个工作正常
假设后面的表达式AND
使用数据库中的现有列进行操作(使用一些类似的变通方法1 = ?
没有成功)
使用第一种情况测试代码
第二种情况的测试代码
投掷错误:
当前数据库是 db2,jaydebeapi - 1.1.1,jpype - 0.6.3,python - 3.6。更改数据库没有帮助。任何帮助将不胜感激。
java - 如何解决 jaydebeapi.connect 命令的“第一个参数不能被强制转换为字符串”?
在 Windows Server 2016 上,我们尝试使用 Jython 脚本通过 JDBC 连接,但我们的jaydebeapi.connect
语句给出以下错误:
TypeError: getConnection(): 1st arg 不能被强制转换为 String
然而,当我们查看使用 jaydebeapi 的示例时,第一个参数是一个字符串。
这是我们的 Python 代码:
这就是我们运行 Python 脚本的方式:
我们缺少什么?我们如何为我们的 jaydebeapi.connect 语句解决这个字符串强制错误?