Python3读取Oracle Blob类型并存为pdf文件

2023-11-01

Python3安装cx_Oracle

进入Python3安装目录,打开cmd窗口,输入命令:python -m pip install cx_Oracle --upgrade
或者在项目内输入同样的命令进行安装

D:\ProgramFiles\Python3102>python -m pip install cx_Oracle --upgrade
Collecting cx_Oracle
  Downloading cx_Oracle-8.3.0-cp310-cp310-win_amd64.whl (213 kB)
     |████████████████████████████████| 213 kB 262 kB/s
Installing collected packages: cx-Oracle
Successfully installed cx-Oracle-8.3.0

顺带升级pip版本:

D:\ProgramFiles\Python3102>python -m pip install --upgrade pip
Requirement already satisfied: pip in d:\programfiles\python3102\lib\site-packages (21.2.4)
Collecting pip
  Downloading pip-22.0.4-py3-none-any.whl (2.1 MB)
     |████████████████████████████████| 2.1 MB 192 kB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.2.4
    Uninstalling pip-21.2.4:
      Successfully uninstalled pip-21.2.4
  WARNING: The scripts pip.exe, pip3.10.exe and pip3.exe are installed in 'D:\ProgramFiles\Python3102\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-22.0.4

主要Python编码

import cx_Oracle

def start():
    minID = 0
    maxID = 0
    outPath = "D:\\pdf\\"
    conn = cx_Oracle.connect(user="dbuser", password="dbpwd", dsn="127.0.0.1/orcl")
    cursor = conn.cursor()

    for row in cursor.execute(""" select * from tbl_attach """):
        #读取blob字段内容
        datas = row[5].read()
        #pdf名称字段
        name_origin = row[1]
        with open(outPath + name_origin, "wb") as f:
            f.write(datas)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python3读取Oracle Blob类型并存为pdf文件 的相关文章

  • boto3 资源(例如 DynamoDB.Table)的类型注释

    The boto3库提供了几种返回资源的工厂方法 例如 dynamo boto3 resource dynamodb Table os environ DYNAMODB TABLE 我想注释这些资源 以便我可以获得更好的类型检查和完成 但我
  • Python在postgresql表中查找带有单引号符号的字符串

    我需要从 psql 表中查找包含多个单引号的字符串 我当前的解决方案是将单引号替换为双单引号 如下所示 sql query f SELECT exists SELECT 1 FROM table name WHERE my column m
  • 将 numpy 数组写入文本文件的速度

    我需要将一个非常 高 的两列数组写入文本文件 而且速度非常慢 我发现如果我将数组改造成更宽的数组 写入速度会快得多 例如 import time import numpy as np dataMat1 np random rand 1000
  • 如何使用显式引用转储 YAML?

    递归引用非常适合ruamel yaml or pyyaml ruamel yaml dump ruamel yaml load A A id001 id001 然而 它 显然 不适用于普通引用 ruamel yaml dump ruamel
  • 为什么我的代码不能根据字典解码加密字符串?

    我有一本字典 其中包含代表字母的键和值 例如一个简单的 DICT CODE b g n a p o x d t y 我收到了一个加密代码 并将该字符串转换为一个列表 其中每个项目都是一个单词 我需要根据字典中的项目来解决它 代码示例是 wo
  • TF map_fn 或 while_loop 用于不同形状的张量列表

    我想处理不同形状的张量序列 列表 并输出另一个张量列表 考虑每个时间戳上具有不同隐藏状态大小的 RNN 就像是 输入 tf ones 1 2 2 tf ones 2 2 3 tf ones 3 2 1 输出 tf zeros 1 2 4 t
  • 了解 Python 中的酸洗

    我最近接到一项作业 需要以腌制形式放置一本字典 其中每个键引用一个列表 唯一的问题是我不知道腌制形式是什么 谁能给我指出一些好的资源的正确方向来帮助我学习这个概念 pickle 模块实现了一个基本但强大的算法 用于序列化和反序列化 Pyth
  • 在 macOS 中通过 Python 访问进程的压缩 RAM(顶部的 CMPRS)的方法?

    我试图弄清楚如何从 Python 访问任何给定进程占用的实际 RAM 量 我发现 psutil Process PID memory info rss 工作得很好 直到操作系统决定开始压缩某些进程的 RAM 然后 所有的 memory in
  • 如何将 self 传递给装饰器?

    我该如何通过self key下面进入装饰器 class CacheMix object def init self args kwargs super CacheMix self init args kwargs key func Cons
  • Apache Spark 中的高效字符串匹配

    我使用 OCR 工具从屏幕截图中提取文本 每个大约 1 5 句话 然而 当手动验证提取的文本时 我注意到时不时会出现一些错误 鉴于文本 你好 我真的很喜欢 Spark 我注意到 1 像 I 和 l 这样的字母被 替换 2 表情符号未被正确提
  • 与 while 循环一样,如何跳过 for 循环中的步骤?

    我尝试像 while 循环一样跳过 for 循环中的几个步骤 在 while 循环中 步骤根据特定条件进行调整 如下面的代码所示 i 0 while i lt 10 if i 3 i 5 else print i i i 1 result
  • 乘以行并按单元格值附加到数据框

    考虑以下数据框 df pd DataFrame X a b c d Y a b d e Z a b c d 1 2 1 3 df 我想在 列中附加数字大于 1 的行 并在该行中的数字减 1 df 最好应该 然后看起来像这样 或者它可能看起来
  • Python 惰性迭代器

    我试图了解迭代器表达式如何以及何时被求值 以下似乎是一个懒惰的表达 g i for i in range 1000 if i 3 i 2 然而 这个在构造上失败了 g line strip for line in open xxx r if
  • 如何使用 paramiko 查看(日志)文件传输进度?

    我正在使用 Paramiko 的 SFTPClient 在主机之间传输文件 我希望我的脚本打印文件传输进度 类似于使用 scp 看到的输出 scp my file user host user host password my file 1
  • Python 类型安全吗?

    根据维基百科 https en wikipedia org wiki Type system Type safety and memory safety 如果一种语言不允许违反类型系统规则的操作或转换 计算机科学家就认为该语言是 类型安全的
  • Python]将两个文本文件合并为一个(逐行)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是蟒蛇新手 我想做的是将文件 a 和文件 b 逐行合并到一个文件中 例如 text file a a n b n c text fi
  • 无法在 python 3.8 上将带有 webapp 的 python 部署到 azure

    我正在尝试使用部署一个测试项目Flask使用以下方法将框架迁移到 Azure 云中Azure CLI https learn microsoft com en us azure app service containers quicksta
  • 如何使用 matplotlib 为圆柱体的每个单独面添加颜色

    我正在尝试为圆柱体的每个面着色 但是我不确定如何进行 我尝试了以下方法 for i in range 10 col append for i in range 10 for j in range 20 col i append plt cm
  • 使用 urllib 编码时保持 url 参数有序

    我正在尝试用 python 模拟 get 请求 我有一个参数字典 并使用 urllib urlencode 对它们进行 urlencode 我注意到虽然字典的形式是 k1 v1 k2 v2 k3 v3 urlencoding 后参数的顺序切
  • 缓存 Flask-登录 user_loader

    我有这个 login manager user loader def load user id None return User query get id 在我引入 Flask Principal 之前它运行得很好 identity loa

随机推荐

  • DDPM模型——公式推导

    论文传送门 Denoising Diffusion Probabilistic Models 代码实现 DDPM模型 pytorch实现 推荐视频 54 Probabilistic Diffusion Model概率扩散模型理论与完整PyT
  • mmseg 安装

    mmseg 安装 文章目录 mmseg 安装 docker sh 基本mmcv mmseg等安装 Bugs ImportError libGL so 1 cannot open shared object file No such file
  • 简单聊一聊手机端口的识别协议-BC1.2

    关于BC1 2协议 每一个从事手机硬件设计的工程师都应该非常了解熟悉 其主要是为了充电端口的识别 然而关于这部分协议 网上有很多的讲解 有讲的很仔细的 也有讲的很粗糙的 小编也是为了学习这部分协议 翻阅了很多资料 最终决定将自己学到的结合自
  • [工业互联-21]:常见EtherCAT主站方案:Kithara实时套件

    第1章 Kithara实时套件概述 1 1 概述 Kithara Software是一家德国的软件公司 专注于实时技术和嵌入式解决方案 他们为Windows操作系统提供了Kithara RealTime Suite 这是一套实时扩展模块 使
  • linux vim 怎么查找,linux下vim 查找命令

    linux下vim 查找命令 text 查找text 按n查找下一个 N查找上一个 text 查找text 反向查找 按n查找下一个 N查找上一个 查找光标当前的单词 相当于 text set ignorecase 查找忽略大小写 set
  • 消息中间件 RocketMQ 源码解析:Message 发送&接收

    摘要 原创出处 http www iocoder cn RocketMQ message send and receive 芋道源码 欢迎转载 保留摘要 谢谢 本文主要基于 RocketMQ 4 0 x 正式版 1 概述 2 Produce
  • 如何选择适合自己的国内服务器

    企业和公司需要服务器一般情况下都是放公司数据 挂公司网站 对服务器的要求是稳定 顺畅 速度快 安全 那么国内那么多机房和服务商 怎么选择最好的呢 如何保证服务器商提供优质的服务器 第一 服务器供应商是不是正规的 第二 看机房的级别 确定ID
  • 页面中常遇到的BUG,及解决方法

    1 解决图片底下三像素的间距 hack1 给img设置vertical align top hack2 给img设置display block 2 谷歌浏览器表单元素在点击时会有外边线 google hack1 input textarea
  • Shell中脚本变量和函数变量的作用域

    Shell中脚本变量和函数变量的作用域 在shell中定义函数可以使代码模块化 便于复用代码 不过脚本本身的变量和函数 的变量的作用域问题可能令你费解 在这里梳理一下这个问题 1 Shell脚本中定义的变量是global的 其作用域从被定义
  • jni和java之间字符串的转换

    jni和java之间字符串的转换方法 C的实现 JNIEXPORT jstring JNICALL Java Android123 CwjC JNIEnv env jobject obj jstring string char szBuff
  • Android毕业设计,基于Android 语音朗读书籍管理系统

    视频演示 基于Android 语音朗读书籍管理系统 基于 Android 的语音朗读书籍管理系统可以提供用户管理书籍 朗读书籍的功能 以下是一个简单的步骤和功能列表 用户注册和登录功能 用户可以注册新账号或使用现有账号登录系统 用户信息可以
  • Android自定义权限使用方法

    Android应用程序可以自定义属于自己的权限或者属于开发者使用的同一个签名的权限 自定义权限的步骤如下 一 在AndroidManifest文件中 添加一个permission标签
  • 【UE4】实现自定义框选

    要在UE4中实现自定义框选功能 首先我们来分析一下顶顶一框选插件需要些什么模块 绘制模块 显示模块 计算模块 嗯 大概分这么三个模块 好 现在我们一个个模块来分析实现 首先分析实现一下显示模块 提示 如果功能需要打包成插件 请先浏览第四章
  • Numpy.pad的多维矩阵里的参数通俗解析 np.pad(a, ((x1, y1), (x2, y2), (x3, y3)), 'constant')

    最近看到pad函数 很多参考资料对pad函数在三维矩阵应用时 对于里面的参数解释不明白 于是自己总结一下 a np array 1 2 2 3 2 4 5 6 7 8 9 10 定义这么个三维矩阵 使用pad方法 np pad a x1 y
  • L2-2 小字辈PTA

    本题给定一个庞大家族的家谱 要请你给出最小一辈的名单 输入格式 输入在第一行给出家族人口总数 N 不超过 100 000 的正整数 简单起见 我们把家族成员从 1 到 N 编号 随后第二行给出 N 个编号 其中第 i 个编号对应第 i 位成
  • 服务器500系列错误解释

    500 Internal Server Error 内部服务错误 一般是服务器遇到意外情况 而无法完成请求 可能原因 1 程序错误 例如 ASP或者PHP语法错误 2 高并发导致 系统资源限制不能打开过多的文件所致 501Not imple
  • egret如何设置调试模式

    egret如何设置调试模式 egret是白鸽引擎 开发h5游戏时需要使用改代码编译器 egret是基于typeScript开发h5游戏的 egret如何设置调试模式 操作方法如图
  • 【C++】 C++安全编码重点规范整理

    C 安全编码重点规范整理 通用规则 C安全编程 基础要求 变量操作 断言操作 函数操作 循环 异常 类 字符串 数组操作 正确使用安全函数 整数 内存 不安全函数 文件输入输出 敏感信息处理 通用规则 对外部输入进行校验 禁止日志中保存口令
  • docker安装opengauss数据库

    opengauss官网 https opengauss org opengauss镜像 https hub docker com r enmotech opengauss 一 镜像拉取并运行 docker run name opengaus
  • Python3读取Oracle Blob类型并存为pdf文件

    Python3安装cx Oracle 进入Python3安装目录 打开cmd窗口 输入命令 python m pip install cx Oracle upgrade 或者在项目内输入同样的命令进行安装 D ProgramFiles Py