gpt4 book ai didi

python - cx_Oracle 和数据源范式

转载 作者:搜寻专家 更新时间:2023-10-30 19:44:48 26 4
gpt4 key购买 nike

在 Java DataSource 中实现了一个用于数据库访问的 Java 范例。该对象围绕数据库连接的创建创建了一个有用的抽象。 DataSource 对象保留数据库配置,但只会根据请求创建数据库连接。这允许您将所有数据库配置和初始化代码保存在一个地方,并且可以轻松更改数据库实现,或使用模拟数据库进行测试。

我目前正在开发一个使用 cx_Oracle 的 Python 项目。在 cx_Oracle 中,直接从模块获取连接:

import cx_Oracle as dbapi
connection = dbapi.connect(connection_string)
# At this point I am assuming that a real connection has been made to the database.
# Is this true?

我正试图在 cx_Oracle 中找到与 DataSource 平行的地方。我可以通过创建一个新类并包装 cx_Oracle 来轻松创建它,但我想知道这是否是在 Python 中执行此操作的正确方法。

最佳答案

您可以通过查看 PEP-249: Python Database API Specification v2.0 找到有关如何使用 Python 访问数据库的相关信息。 . cx_Oracle 符合此规范,许多 Python 数据库驱动程序也是如此。

在此规范中,Connection 对象表示一个数据库连接,但没有内置的池。 SQLAlchemy等工具确实提供了池设施,尽管 SQLAlchemy 通常被称为 ORM,但它不必如此使用,并且提供了很好的抽象以供在 SQL 引擎之上使用。

如果您确实想进行对象关系映射,那么 SQLAlchemy 就可以完成这项工作,您可以考虑它自己的声明性语法或另一个层,例如 Elixir它位于 SQLAlchemy 之上,为更常见的用例提供了更高的易用性。

关于python - cx_Oracle 和数据源范式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1148472/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com