2017-02-21 76 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.

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