如何使用Python从Sybase数据库执行SQLAlchemy中的表反射/内省?

ign*_*lut 4 python sql sybase sqlalchemy introspection

一些有用的计算器用户指出的是无论是pyodbc也不蟒蛇,SYBASE插件支持在SQLAlchemy中的Sybase表反映.

所以,我的问题是:是否有任何替代方案可用于反映Sybase部署中表的数据库元数据?或者,如果那是不可能的,有没有一种巧妙的方法来修补和/或破解解决方案以下拉表格元数据以进行解析和查询构建?

zzz*_*eek 5

这一切都归结为调用数据库提供的信息模式,数据库是一组可以从中选择的表和/或视图,然后返回有关表,列和其他所有内容的数据.

在Sybase的情况下,它们的信息模式有一种非常非常强硬的格式(主要是由于表示外键约束16 + 16列格式),因此当我创建Sybase方言时,我离开了反射部分的工作作为"todo".没有技术上的原因它无法完成,这只是一项漫长而乏味的工作,我们几乎没有人使用Sybase方言.

如果你想找出一些基本的查询来获取表名和列名,我们可以直接将它们提交到SQLAlchemy中.您将使用的模式在本节中介绍:http://infocenter.sybase.com/help/index.jsp?topic =/com.sybase.help.ase_15.0.tables/html/tables /tables2热媒,并在那里你会看sysobjects,syscolumnsysreferences.

  • 哇,这并不比直接从马的口中得到答案好得多,可以这么说.顺便说一句,感谢您使用SQLAlchemy所做的工作 - 这是我第一次使用DBs时,我的工作稍微有点痛苦:)至于为项目做贡献,我一直想回馈社区,这样做了很多对我来说,所以我对这个机会很感兴趣.目前,我有一个截止日期尽快完成这个项目,所以我用光标/ engine.execute()手动干扰解决方案,但是一旦我有时间,我会回到这个问题. (3认同)