2012-03-06 32 views
4

一些有用的計算器用戶pointed outneither the pyodbc nor python-sybase plugins support Sybase table reflection within SQLAlchemy如何使用Python在Sybase db中執行SQLAlchemy中的表反射/內省?

所以,我的問題是:是否有存在反映數據庫元數據在Sybase表部署任何的替代品?或者,如果這是不可能的,是否有一種巧妙的方法來修補和/或破解解決方案,以便下拉表元數據進行解析和查詢構建?

回答

5

這一切都歸結到呼籲由數據庫,這是一套表和/或視圖,您可以從中選擇所提供的信息模式,即再返回表,列,和其他一切數據。

在Sybase的情況下,他們的信息模式格式非常嚴格(主要是由於16 + 16 column format of representing foreign key constraints),所以當我創建Sybase方言時,我將作業的反射部分視爲「待辦事項」。沒有技術上的理由,它不能完成,這只是一個漫長而乏味的工作,而且我們幾乎沒有人使用Sybase方言。

如果你想看看一些基本的查詢來獲得在表和列名,我們可以提交這些直入SQLAlchemy的。你要共事的模式在本節中記載:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.tables/html/tables/tables2.htm,並在那裏你會看sysobjectssyscolumnsysreferences

+3

哇,沒有什麼比從馬的嘴裏得到答案直好多了,可以這麼說。順便說一句,感謝您使用SQLAlchemy所做的工作 - 這讓我第一次使用DB來處理一些不那麼痛苦:)至於爲項目做出貢獻,我一直想回饋給那些做得如此之好的社區對我來說,所以我對這個機會很感興趣。目前,我有一個截止日期,以便儘快完成此項目,所以我用光標/ engine.execute()手動干擾解決方案,但一旦有空,我就會回到這個問題。 – ignorantslut 2012-03-07 03:03:48