【发布时间】:2021-12-29 09:55:12
【问题描述】:
我正在使用cx_Oracle 访问 mon Oracle 数据库我一直在寻找一种从数据库中提取文件的方法,但我找不到解决方案。通过提取我的意思是下载。
这是我到目前为止得到的:
from types import prepare_class
from typing import overload
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('****', '****', service_name='****')
conn = cx_Oracle.connect(user=r'****', password='****', dsn=****)
c = conn.cursor()
c.execute('my request')
for row in c:
print (row[0], '-', row[1])
conn.close()
我不知道我是需要使用外部库还是直接使用请求。
【问题讨论】:
-
您的意思是要查询数据库表中的所有行并将它们保存到文件中吗?什么样的文件 - CSV? several options in cx_oracle 用于获取 1 行、多行或所有行。您还可以使用 pandas 之类的库
-
...具体是什么意思?您只需要将内容写入文件即可。
-
有我想提取/下载的 blob 文件,但是我可以一个一个打开它们并将它们写入文件,但我不知道它是否更快,我不知道 cx_oracle 可以做吧,我会看看它是如何工作的,谢谢
-
如果存储为 blob 的二进制文件是文本文件,您可以使用函数将 blob 转换为 clob,然后在正常提取中将 clob 作为文本下载。如果 blob 文件不同,例如图片或音频,就会出现问题