【发布时间】:2020-11-21 15:29:41
【问题描述】:
让driver 成为DB-API 驱动程序(例如psycopg2、pymysql),您可以通过connnection = driver.connect(...) 获取连接对象。如何检查连接对象连接到哪种 DBMS:(1) 最好是 DBMS 名称或 (2) 模块名称。
用例:
我需要使用不同的 SQL 语法进行特殊查询(例如,PostgreSQL 的 COPY 子句与 MySQL 的批量 INSERT)。
【问题讨论】:
-
在你知道连接类型的时候,可以选择查询
-
问题是当您将连接对象传递给另一个函数时。然后,您需要传递另一个参数来描述不可取的 DBMS 名称。附加到连接的属性是最好的。
-
这听起来像XY problem。您应该已经知道要使用的 DB-API 以及要运行的操作。请为您的用例发布示例代码以说明您的实际问题。
-
不是真的,@nbk 在理解这个问题方面做得非常好,然后提供了一个满足用例的解决方案。
标签: python mysql sql postgresql python-db-api