将Datetime作为参数传递给PyODBC的存储过程时出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Datetime作为参数传递给PyODBC的存储过程时出错相关的知识,希望对你有一定的参考价值。
我需要从Python执行存储过程。我正在使用pyodbc来做到这一点。存储过程需要传递datetime参数。
我使用以下代码:
cursor.execute('exec [Data].[GetData]?',datetime.datetime.now())
我收到以下错误:
ProgrammingError:('42000','[42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]不允许从数据类型datetime到bigint的隐式转换。使用CONVERT函数运行此查询。(257)(SQLExecDirectW )“)
我该怎么办 ?
答案
from datetime import datetime
cursor.execute('exec [Data].[GetData]?',datetime.now())
有相同的错误检查您的导入
以上是关于将Datetime作为参数传递给PyODBC的存储过程时出错的主要内容,如果未能解决你的问题,请参考以下文章
将参数传递给cursor.execute()时pyodbc中的UnicodeDecodeError,但在将参数直接写入字符串时不会
将 xml 作为参数传递给 SQL Server 中的存储过程
如何通过不提交当前会话事务将 DataTable 作为参数传递给存储过程?