关于SQLAlchemy,DB-API和方言的许多债务

问题描述

我目前正在开发有关sqlAlchemy的学术著作,并且难以理解一些基本概念。

一个概念是DB-API。根据{{​​3}},DB-API只是有关如何实现数据库连接模块/驱动程序的规范。以我的理解,DB-API只是规范的文档(例如txt或docx文件)。现在出现问题了,请看Mike Bayer自己撰写的文档摘录:

“ Dialect是一个抽象类,存在许多实现,每个实现都针对特定的 DBAPI /数据库组合。代表引擎创建的Connection将参考此方言进行所有决策,取决于所使用的目标DBAPI和数据库,其行为可能有所不同。” 摘自Python的“方言系统”部分。

请注意上面粗体部分。

一个疑问:DB-API如何组合? DB-API不仅仅是1个规范文档吗?

第二个疑问:目标DB-API如何? DB-API不仅是任何文档中的规则吗?规范文档为何有目的地?那目的地是什么?

我怀疑的第二个概念是方言。什么是方言? 网站上的“ Postgresql方言”部分指定了一些方言,例如:pscopg2,pg800。这些方言是否与数据库驱动程序或模块不同,并且遵循规范SQLAlchemy at Architecture of Open Source Application.

在同一会话中,该站点使用术语“方言/ DBAPI”,因此我对DB-API存有疑问。 DB-API不仅仅是文档吗?我不知道为什么现在将它称为方言。

在另一个DB-API中,他给出了以下示例:MysqL + MysqLdb:// @ localhost / test指的是DBAPI DBAPI /方言的组合。术语DB-API被两次用作不同的术语。

第三个疑问:是否有几个DBAPI? Tavlez我被搞砸了,因为有两种类型的DBAPI,Python和其他一些DBAPI。

以下session讨论了DB-API(我认为是Python的)和“特定的DB-API”。阅读。

Python与数据库进行通信。 sqlAlchemy方言系统围绕DBAPI的操作而构建,提供了在特定数据库引擎之上为特定DBAPI服务的单独的方言类。

我实际上非常困惑和迷茫。

到目前为止,我了解到:

Dialect与数据库驱动程序(例如PyMysqL)相同。

根据session中的读数,该方言与数据库连接驱动程序和DB-API相同。

很抱歉,这个问题令人困惑,但我也很困惑。

请,我需要清除这些疑问,以便我可以继续完成课程。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...