标签: cx-oracle

如何使用python显示oracle中表的属性?

我将 Python 连接到 Oracle。

我正在尝试使用 python 显示表的属性,即我想显示表模式。我正在使用“描述”语句,但在执行时出现错误' Invalid SQL Statement'.

我做了以下事情:

queryString = 'Describe Customer'
onCursor.execute(queryString)
Run Code Online (Sandbox Code Playgroud)

“Customer”是表名

python sql oracle cx-oracle

1
推荐指数
1
解决办法
6051
查看次数

UNIX/Python - 如何在没有互联网和 pip 的情况下使用 cx_Oracle

我的公司(还)不允许我们安装或升级 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
    |-- …
Run Code Online (Sandbox Code Playgroud)

python oracle cx-oracle python-import

1
推荐指数
1
解决办法
1675
查看次数

使用 SQLAlchemy 使用 python-oracledb 而不是 cx_Oracle 连接到 OracleDB

我正在尝试使用 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)
Run Code Online (Sandbox Code Playgroud)

python cx-oracle sqlalchemy python-oracledb

1
推荐指数
1
解决办法
3797
查看次数

将变量绑定到 Pandas.read_sql 的 SQLAlchemy 查询

是否可以将变量绑定到 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

python cx-oracle sqlalchemy oracle11g pandas

0
推荐指数
1
解决办法
2862
查看次数

在 Oracle 中将 txt/csv 文件或图像插入 BLOB 列有区别吗?

我正在使用 CX_ORACLE 编写一个 Python 脚本,该脚本将需要大约 20K 个文件并将它们上传到 BLOB 列中。

它们是 PDF、CSV、TXT 和 JPG。

我只是不明白如何将这些文本和二进制文件全部放入 BLOB 列中。

python oracle binary cx-oracle

0
推荐指数
1
解决办法
144
查看次数

Python:确定 SQL 选择列表中的 Oracle 数据库列数据类型

如何使用 Oracle 和 Python 中的 cx_Oracle 模块确定选择列表中列的列数据类型。本质上是一种光标内省。

我见过需要根据表名查询 Oracle 数据字典的解决方案。但是,如果您需要编写动态执行 SQL 的代码,例如存储在文件中的 SQL,它连接两个或多个表,事情就会变得棘手。此方法允许您询问游标以及选择列表中的任何给定列,无论它源自哪个表或视图,从而确定该列的数据类型。

cx-oracle sqldatatypes python-3.x

-1
推荐指数
1
解决办法
3787
查看次数