将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 中的存储过程

将xml作为输入参数传递给存储过程

如何通过不提交当前会话事务将 DataTable 作为参数传递给存储过程?

将 Access 表日期值作为参数传递给 SQL Server 存储过程

使用简单的 jdbc 调用将数组作为输入参数传递给 oracle 存储过程