python for SQL中的cursor.execute

时间:2014-11-18 10:06:19

标签: python odbc pyodbc

我需要脚本通过python代码和

监视来自linux的sql server expiration

在SQL输出即将发布但在linux中,它会出现以下错误:

>>> cursor.execute("select loginproperty('tibbr_db','DaysUntilExpiration')")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('ODBC data type -150 is not supported.  Cannot read column .', 'HY000')

1 个答案:

答案 0 :(得分:3)

通过更改查询,显式地将LOGINPROPERTY返回值转换为整数以解决数据类型映射问题:

"select loginproperty('tibbr_db','DaysUntilExpiration')"

到此:

"select cast(loginproperty('tibbr_db','DaysUntilExpiration') as integer)"

SQL Server中的DaysUntilExpiration属性应始终返回一个整数,因此您无法通过显式转换查看任何类型错误。

ODBC类型-150看起来像SQL Server variant类型,pyodbc没有映射到python类型。