我将 Python 连接到 Oracle。
我正在尝试使用 python 显示表的属性,即我想显示表模式。我正在使用“描述”语句,但在执行时出现错误' Invalid SQL Statement'.
我做了以下事情:
queryString = 'Describe Customer'
onCursor.execute(queryString)
“Customer”是表名
我的公司(还)不允许我们安装或升级 python3,也不允许我们在其服务器上安装 pip 模块。即使可以,机器也没有连接到互联网。但我们可以执行 python2 二进制文件
cx_Oracle无需使用pip互联网即可使用该模块
我想到在我的计算机上安装 cx_Oracle 包,然后将安装的模块文件从我的计算机复制到服务器。
所以服务器 dev 文件夹看起来像这样(只列出有趣的目录和文件,省略__pychache__和*.pyc其他无用的*.py文件):
|-- test_cx_oracle_in_local.py
\-- sqlalchemy/
    |-- connectors
    |-- databases
    |-- dialects
    |   |-- firebird
    |   |-- mysql
    |   |-- mssql
    |   |-- oracle
    |   |   |-- base.py
    |   |   |-- cx_oracle.py   <--- This is the interesting file
    |   |   |-- __init__.py
    |   |   \-- zxjdbc.py
    |   |-- postgresql
    |   |-- sqlite
    |   |-- sybase
    |-- engine
    |-- …我正在尝试使用 python-oracledb 库而不是 cx_Oracle 创建引擎,但它显示未找到 cx_Oracle 模块。有什么方法可以让 sqlalchemy 使用 python-oracledb 创建引擎吗?
如果我使用 cx_Oracle,我曾经使用以下内容创建一个引擎:
conn_str = "oracle+cx_oracle://{user}:{password}@{host}:{port}"
我正在使用下面的代码来使其使用 python-oracledb。
import oracledb
from sqlalchemy import create_engine, text
oracledb.init_oracle_client()
engine = create_engine(f'oracle://{p_username}:{p_password}@{p_dns}:{p_port}', max_identifier_length=128)
print(engine)
是否可以将变量绑定到 Pandas.read_sql 语句中使用的 SQLAlchemy 查询?
在 WHERE 子句中使用 %s 不起作用,cx_Oracle 的文档指出:
cursor.execute('SELECT * FROM Employees WHERE Department_id=:dept_id)
直接使用 cx_Oracle 驱动程序在 Pandas 中已被弃用,并且不是一个可行的选项。
我有一个组列表,我需要遍历 WHERE 语句,因为 SELECT * 内存太大而无法在单台 PC 上处理。
例子:
SELECT *
 FROM DUAL
 WHERE GROUP_NAME = %s
返回此错误:
(cx_Oracle.DatabaseError) ORA-00911: 无效字符... WHERE GROUP_NAME = %s
我正在使用 CX_ORACLE 编写一个 Python 脚本,该脚本将需要大约 20K 个文件并将它们上传到 BLOB 列中。
它们是 PDF、CSV、TXT 和 JPG。
我只是不明白如何将这些文本和二进制文件全部放入 BLOB 列中。
如何使用 Oracle 和 Python 中的 cx_Oracle 模块确定选择列表中列的列数据类型。本质上是一种光标内省。
我见过需要根据表名查询 Oracle 数据字典的解决方案。但是,如果您需要编写动态执行 SQL 的代码,例如存储在文件中的 SQL,它连接两个或多个表,事情就会变得棘手。此方法允许您询问游标以及选择列表中的任何给定列,无论它源自哪个表或视图,从而确定该列的数据类型。
cx-oracle ×6
python ×5
oracle ×3
sqlalchemy ×2
binary ×1
oracle11g ×1
pandas ×1
python-3.x ×1
sql ×1
sqldatatypes ×1