影刀RPA零基础教程 PostgreSQL与Oracle数据库连接配置与SQL查询实战指南
SQLite和MySQL已经能搞定日常了,但到了公司环境,遇到的往往不是PostgreSQL就是Oracle。PostgreSQL功能全面,Oracle则是企业级应用的老牌选手——能连上这两类数据库,意味着你可以直接对接公司现有的ERP、CRM或者数据仓库,再也不用折腾数据导入导出那套流程了。 这篇
SQLite和MySQL已经能搞定日常了,但到了公司环境,遇到的往往不是PostgreSQL就是Oracle。PostgreSQL功能全面,Oracle则是企业级应用的老牌选手——能连上这两类数据库,意味着你可以直接对接公司现有的ERP、CRM或者数据仓库,再也不用折腾数据导入导出那套流程了。
这篇文章不绕弯子,直接给配置步骤和避坑指南。PostgreSQL相对省心,Oracle坑比较密集,咱们按顺序来。

一、什么时候该用PostgreSQL或Oracle
上篇文章聊过SQLite和MySQL的选型,这里补充一下PostgreSQL和Oracle的适用场景:
| 数据库 | 适用场景 | 典型用途 |
|---|---|---|
| PostgreSQL | 复杂查询、地理数据、JSON处理 | 数据仓库、BI报表、GIS应用 |
| Oracle | 企业级核心系统、高并发事务 | ERP、CRM、金融系统 |
如果公司已经在用Oracle ERP或者PostgreSQL数据仓库,直接用影刀对接远比导出Excel再处理高效得多。
影刀版本差异:影刀支持连接MySQL、SQLServer、Oracle、PostgreSQL、达梦五个常用数据库平台。社区版和创业版都支持连接外部数据库,部分高级功能(如内置数据库)仅限企业版。

二、PostgreSQL连接配置(相对简单)
PostgreSQL在开源数据库里功能最强,配置上比Oracle省心不少。

第一步:服务器端配置
在配置影刀连接前,需要在PostgreSQL服务器上完成两个准备工作。
1. 添加IP白名单
出于安全考虑,大部分数据库都限制了IP访问。需要把影刀的IP加入白名单:
49.235.115.242

118.25.40.55
124.220.48.40
2. 创建专用用户和数据库

在PostgreSQL中创建一个专门给影刀用的用户和数据库:
-- 创建用户
CREATE USER yingdao WITH PASSWORD 'your_password';
-- 创建数据库,所有者为yingdao
CREATE DATABASE yingdao OWNER yingdao;
-- 授予权限
GRANT ALL PRIVILEGES ON DATABASE yingdao TO yingdao;
容易踩坑:如果用的是云数据库(如阿里云Hologres),先确认它兼容PostgreSQL协议。连接测试失败时,重点检查IP白名单和端口是否开放。
第二步:影刀端配置
在影刀AI Wea ve平台中配置PostgreSQL连接:
- 进入“资源管理” → “添加资源”
- 选择“PostgreSQL”
- 填写连接信息:
- 名称:资源的名称,比如“影刀pg数据库”
- 地址:服务器的IP或URL
- 端口:默认5432
- 数据库:要连接的数据库名

- 用户名:连接数据库的用户名
- 密码:连接数据库的密码(加密保存)
- 如果需要SSL/TLS加密连接,勾选对应选项
- 点击“测试连接”,确认能连上
- 点击“保存”
PostgreSQL连接串格式(如果要用连接串快速填充):
postgresql+psycopg2://postgres:123456@localhost/test?charset=utf8
容易踩坑:有开发者反馈影刀指令里没有直接连接PG的方法,其实市场指令里面有。在指令面板搜“PostgreSQL”或“PG”就能找到相关指令。
三、Oracle连接配置(坑最多)
Oracle的配置比PostgreSQL复杂不少,也是新手最容易卡住的地方。
第一步:确认影刀位数
这是Oracle配置中最关键的一步,错了全白费。
打开影刀 → 设置 → 关于影刀,确认是32位还是64位。Oracle的Instant Client必须和影刀位数完全一致。
第二步:下载Instant Client
根据影刀位数下载对应的Oracle Instant Client:

- 32位影刀:下载32位版本
instantclient-basic-nt-11.2.0.4.0.zipinstantclient-odbc-nt-11.2.0.4.0.zip
- 64位影刀:下载64位版本
下载地址从Oracle官网获取即可。
关键操作:两个压缩包解压到同一个文件夹下。比如都解压到C:instantclient_xx。
第三步:配置环境变量
添加两个系统环境变量:
ORACLE_HOME:指向Instant Client解压目录(如C:instantclient_xx)TNS_ADMIN:指向Instant Client解压目录(存放tnsnames.ora)
把Instant Client目录加到系统PATH中。
第四步:以管理员身份运行CMD安装
打开管理员权限的CMD,执行:
cd C:instantclient_xx
odbc_install.exe
安装完成后重启电脑。
第五步:服务器端配置
同样需要添加IP白名单:
49.235.115.242
118.25.40.55
124.220.48.40
创建专用用户:
-- 创建用户
CREATE USER yingdao IDENTIFIED BY password;
-- 授予基本权限
GRANT CREATE SESSION, CREATE TABLE TO yingdao;
GRANT CONNECT, RESOURCE TO yingdao;
第六步:影刀端配置
在影刀AI Wea ve平台配置Oracle连接:
- 选择“OracleDB”
- 填写连接信息:
- 地址:服务器的IP或URL
- 端口:默认1521
- 数据库:连接后使用的数据库(通常是服务名或SID)
- 用户名:连接数据库的用户名
- 密码:连接数据库的密码(加密保存)
- 点击“测试连接”
容易踩坑:连接失败时按这个顺序排查——检查监听服务是否启动 → 检查tnsnames.ora配置是否正确 → 检查防火墙是否开放了1521端口。
四、在影刀中执行SQL查询
连接配置完成后,就可以在流程里执行SQL了。
方式一:使用“SQL查询数据库”指令
指令位置:右侧指令面板搜索“SQL查询数据库”。
配置步骤:
- 选择已配置好的数据库资源
- 编写SQL语句(仅支持SELECT查询)
- 查询结果以DataFrame格式输出
-- 示例:查询最近7天的订单
SELECT
订单编号,
客户名称,
订单金额,
下单时间
FROM 订单表
WHERE 下单时间 >= NOW() - INTERVAL '7 days'
ORDER BY 下单时间 DESC;
方式二:使用“执行SQL语句”指令(更灵活)
适用于INSERT、UPDATE、DELETE等操作,或需要执行存储过程的场景。
配置步骤:
- 先用“连接数据库”指令创建连接对象
- 拖入“执行SQL语句”指令
- 编写SQL(支持增删改查和存储过程调用)
- 结果保存到变量(二维列表格式)
容易踩坑:有开发者反馈使用“pg执行SQL语句”指令无法实现查询功能。如果遇到这个问题,试试用“SQL查询数据库”指令代替,或者用Python代码方式连接。
方式三:Python代码方式(最灵活)
如果影刀自带指令不够用,直接用Python代码连接数据库:
# 影刀Python代码 - PostgreSQL查询
# 需要先安装psycopg2:pip install psycopg2
import psycopg2
import pandas as pd
# 连接PostgreSQL
conn = psycopg2.connect(
host="127.0.0.1",
port=5432,
database="yingdao",
user="yingdao",
password="your_password"
)
# 查询数据
df = pd.read_sql("SELECT * FROM 商品表 WHERE 价格 > 100", conn)
print(df.to_dict('records')) # 影刀会捕获print的内容
conn.close()
五、常见坑点与避坑指南
坑1:Oracle Instant Client位数不匹配
现象:连接Oracle时报DPI-1047: Cannot locate a 64-bit Oracle Client library。
原因:影刀是32位但装了64位的Instant Client,或反过来。
解决:确认影刀位数(设置→关于影刀),下载对应版本的Instant Client。
坑2:IP白名单没加
现象:连接超时或被拒绝。
解决:把影刀的IP(49.235.115.242、118.25.40.55、124.220.48.40)加到数据库的白名单中。
坑3:PostgreSQL批量插入报错
现象:批量插入数据到PostgreSQL时报错。
原因:数据库字段可以为空时,需要插入空值None而不是空字符串。如果是空字符串就会报错,特别是日期类型字段。
解决:在插入数据前,把空字符串替换成None:
# 把空字符串替换成None
for row in data:
for i in range(len(row)):
if row[i] == "":
row[i] = None
坑4:Oracle连接报错“测试连接失败”
现象:客户端测试成功,但影刀里测试连接失败。
排查步骤:
- 检查监听服务是否启动
- 检查tnsnames.ora配置是否正确
- 检查防火墙是否开放了1521端口
- 检查服务注册与日志
坑5:特殊字符导致连接失败
现象:用“数据库读取”指令连接直接失败。
原因:用户名或密码有特殊字符,解析错误。
解决:用Python代码方式连接,绕过指令解析问题。
坑6:忘记以管理员身份运行odbc_install
现象:Oracle环境配置看起来都做了,但就是连不上。
解决:以管理员权限打开CMD执行odbc_install.exe,安装完成后重启电脑。
六、完整实战:从PostgreSQL导出数据到Excel
这是一个对接PostgreSQL数据仓库的完整流程:
A_Main(主流程)
├─ 【Step 1:连接PostgreSQL】
│ ├─ 连接数据库(资源="影刀pg数据库") → database对象
│ └─ 输出日志("数据库连接成功")
│
├─ 【Step 2:执行查询】
│ ├─ SQL查询数据库:
│ │ SELECT
│ │ 商品名称, 价格, 销量,
│ │ 店铺名称, 采集时间
│ │ FROM 商品数据表
│ │ WHERE 采集时间 >= CURRENT_DATE - INTERVAL '7 days'
│ │ AND 价格 > 0
│ │ ORDER BY 销量 DESC
│ │ LIMIT 1000
│ └─ 查询结果 → 商品数据(DataFrame)
│
├─ 【Step 3:数据清洗】
│ └─ Python代码:处理NULL值、格式化日期
│
├─ 【Step 4:写入Excel】
│ ├─ 创建Excel文件
│ ├─ 写入表头
│ ├─ 循环遍历(商品数据):
│ │ └─ 追加一行数据到表格
│ └─ 保存Excel
│
└─ 【Step 5:关闭连接】
└─ 关闭数据库连接(database)
推荐资源
- 影刀官方帮助中心“连接PostgreSQL”文档
- 影刀官方帮助中心“连接OracleDB”文档
- 影刀开发者社区“Oracle数据库连接环境配置”踩坑记录
- Oracle Instant Client下载:从Oracle官网获取对应版本
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:影刀RPA零基础教程 PostgreSQL与Oracle数据库连接配置与SQL查询实战指南要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点GoogleMeet是面向商业与企业的视频会议服务,支持屏幕共享、实时字幕及与GoogleWorkspace集成,适用于项目讨论、网络研讨和线上教学等多种会议场景,具备扎实的安全与隐私保护。
Lanter是Chrome扩展,利用AI将YouTube视频语音转为带时间戳的文字笔记,支持一键抓取高光、自动标点排版、书签管理、全局搜索及每日邮件汇总,方便高效回顾视频关键内容。
一款AI驱动的Chrome扩展音频笔记应用,支持录音自动转文字、标签分类与全文搜索,将语音转化为可检索的数字资产,显著提升信息定位与管理效率。
专为GoogleMeet设计的AIChrome扩展,实时转录会议内容,自动生成摘要并提取行动项与决策,无缝同步至Google文档、任务及Gmail,省去手动整理时间,显著提升协作效率。
- 日榜
- 周榜
- 月榜
热点快看
