问题标签 [python-db-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1418 浏览

sqlalchemy - IronPython db-api 2.0

有谁知道是否有任何 db-api 2.0 驱动程序可与 IronPython 一起使用?如果是这样,有没有人尝试将它与 SQLAlchemy、SQLObject 或 Django ORM 一起使用?

0 投票
3 回答
1623 浏览

python - Python pysqlite 不接受我的 qmark 参数化

我想我是个傻瓜,也许没有导入正确的包,但是当我这样做时......

这对我来说意义不大,因为文档显示 pysqlite 是 qmark 参数化的。不过,我是 python 和 db-api 的新手,请帮帮我!谢谢

0 投票
3 回答
768 浏览

python - 当我只有一个“Connection”对象时,如何确定正确的“paramstyle”?

我有一个 a 的实例Connection(符合 DB API 2.0 的要求),但我没有从中导入它的模块。问题是我正在尝试使用命名参数,但我不知道该paramstyle使用哪个。

由于paramstyle是模块级常量,我不能只问Connection. 我尝试inspect.getmodule()在我的Connection实例上使用,但它刚刚返回None. 有没有一种我只是想念的更简单的方法,还是我需要做一些try/except代码来确定paramstyle使用哪个?

0 投票
2 回答
3874 浏览

python - sqlite3 和 cursor.description

在 python 中使用 sqlite3 模块时,除列名之外的所有 cursor.description 元素都设置为 None,因此该元组不能用于查找查询结果的列类型(与其他 DB-API 兼容模块不同)。获取用于获取表描述的列类型pragma table_info(table_name).fetchall(),将其存储在内存中,然后将 cursor.description 中的列名与整个表描述匹配的唯一方法是吗?

0 投票
2 回答
426 浏览

python - INFORMATION_SCHEMA 的 MySQL 驱动程序问题?

我正在尝试 Stackless Python 的并发框架。它包括一个 MySQL 驱动程序,当运行一些以前在 MySQLdb 上运行良好的代码时,它会失败。

我在做什么:

  1. 使用带有用户名/密码/端口/数据库的 dbapi 连接到 MySQL 数据库。

  2. 执行SELECT * FROM INFORMATION_SCHEMA.COLUMNS

这失败并显示消息:

“mydatabase”是我在步骤 1 中指定的数据库。

在发出“USE mydatabase”后在 MySQL 控制台中执行相同的查询时,它可以完美运行。

检查网络通信会产生如下内容:

这是驱动程序问题(因为它在 MySQLdb 中有效)?还是我不应该以这种方式查询 INFORMATION_SCHEMA ?

如果我在尝试查询之前发送特定的“USE INFORMATION_SCHEMA”,我会得到预期的结果。但是,我不想让我的代码到处都是“USE”查询。

0 投票
2 回答
3675 浏览

python - 如何为时间戳(日期时间)数组指定 psycopg2 参数

我想使用 psycopg2 在 Python 中运行 PostgreSQL 查询,它按类型的列进行过滤timestamp without timezone。我有一长串允许的时间戳(而不是范围)值列表,并且 psycopg2 可以方便地处理数组,所以我认为这应该可以工作:

times参数是datetime对象列表。我也试过了psycopg2.Timestamp()。它们都转换为WHERE thetimestamp = ANY (ARRAY['2009-07-06T00:00:00', '2009-07-07T00:00:00', ...])并且不幸的是失败并出现以下错误:

我也在 pgAdmin 中确认了这一点,所以它不仅仅是 psycopg2。似乎正在发生的事情是 Postgres 不会将字符串数组隐式转换为时间戳数组。如果我显式添加到 pgAdmin 中的每个元素,它将很好地转换单个字符串并且数组工作正常::timestamp,但我不知道如何在 psycopg2 中做到这一点。

除了忘记 DB-API 参数并手动构建一长串时间戳之外,最好的方法是什么?有什么办法可以让它转换为正确的类型?

0 投票
3 回答
2696 浏览

python - 在 pyscopg2 中取消查询执行

如何使用 pyscopg2(python Postgres 驱动程序)取消执行查询语句?

例如,假设我有以下代码:

然后我想取消从另一个线程执行那个长时间运行的查询 - 我必须在连接/光标对象上调用什么方法才能做到这一点?

0 投票
3 回答
38389 浏览

python - 如何使用 python db-api 安全地生成 SQL LIKE 语句

我正在尝试使用 python 的 db-api 组装以下 SQL 语句:

其中 BEGINNING_OF_STRING 应该是一个 python var,可以通过 DB-API 安全地填写。我试过

我没有想法;这样做的正确方法是什么?

0 投票
12 回答
31470 浏览

python - 使用 psycopg2 为 Postgres 转义 SQL“LIKE”值

psycopg2 是否具有转义Postgres的LIKE操作数的值的功能?

例如,我可能想匹配以字符串“20% of all”开头的字符串,所以我想写这样的东西:

我可以在这里插入一个现有的escape_sql_like函数吗?

(与如何明确引用字符串值(Python DB API/Psycopg2)类似的问题,但我在那里找不到答案。)

0 投票
2 回答
1140 浏览

python - Python DBAPI 连接超时?

我试图测试连接失败,不幸的是,如果主机的 IP 地址被防火墙保护,它并没有失败。

这是代码:

如果我尝试连接到已知服务器但输入的用户名不正确,则会触发异常并失败。

但是,如果我尝试连接到没有响应(防火墙)的机器,它永远不会通过self.conn = pgdb.connect()

当用户输入错误的 IP 地址时,如何等待或测试超时而不是让我的应用程序看起来挂起?