在 python 中使用 pyodbc 获取 mssql table 列名和数据类型

Getting mssql table column name and datatype using pyodbc in python

我正在尝试使用 pyodbc

获取 mssql table 列名称和数据类型

这是我的代码:

def GetSQLTableFields(connDetails):
    cursor = conn.ConnectSQL(connDetails)
    cursor.execute("SELECT colum1, column2, column3 FROM TEST_TABLE")
    for col in cursor.description:
        print('name =', col[0], ', datatype =',col[1])
    cursor.close()

通过使用此代码,我无法获取插入的列的 sql 数据类型,我正在获取此

name = column1, datatype = <class 'str'>
name = column2, datatype = <class 'int'>

我想要的输出

name = column1, datatype = nvarchar
name = column2, datatype = int

这是一个长期存在的功能请求,尚未在 pyodbc 本身中实现。

https://github.com/mkleehammer/pyodbc/issues/167

您可能想尝试使用该问题中提到的分支(如果它正在维护)。