2017-02-21 78 views
0

我正在使用pymssql模塊。我試圖提取我的列的數據類型。按照github code應該可以通過connection.column_types訪問它,但我得到了以下錯誤:訪問pymssql連接類中的column_types

AttributeError: '_mssql.MSSQLConnection' object has no attribute 'column_types' 

我不明白我在做什麼錯。我有合適的對象,我創造我與_mssql.connect()方法連接:

pymssql._mssql.connect(server=HOST, port=PORT, user=USR, password=PWD, **KWARGS) 

(但即使我使用的DBAPI connect()方法pymssql.connect()

pymssql.connect(host=HOST, port=PORT, user=USR, password=PWD, **KWARGS) 

然後我試着訪問底層連接類cursor._source._conn.column_types它也失敗出於同樣的原因:

AttributeError: '_mssql.MSSQLConnection' object has no attribute 'column_types' 

如何ç我得到的數據類型?

+0

看起來源代碼中的'column_types'引用並不意味着你認爲它的作用。但是,可以從Cursor對象的[.description](https://www.python.org/dev/peps/pep-0249/#description)屬性中獲取數據類型信息。您也可以針對「INFORMATION_SCHEMA.COLUMNS」視圖運行查詢。 –

+0

@GordThompson你能否詳細說明一下?你可以很容易地將你的知識變成我看起來很好的答案。描述中沒有足夠的信息,它是抽象的,我需要數據類型的原始形式。 'INFORMATION_SCHEMA.COLUMNS'沒有幫助,我想要結果集中的類型,而不是服務器上的類型。 –

回答

1

我在github上打開了一張票,它是got an answer。在這裏發佈後代和完整性。

column_types is cdef so only accessible from C code, not Python.

這不是我所希望的,但唉,這是答案。