背景
在使用Python向SQLserver数据库中插入数据时抛出错误:
Cannot commit transaction: (3902,b'The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.
DB-Lib error message 20018, severity 16:\nGeneral SQL Server error:Check messages from the SQL Server\n')
分析
额,没有找到原因。但是无意中找到了解决方法。
解决
SQLserver中的字段类型导致的错误,我遇到的错误为:有一个字段设置的是Date类型,插入数据时如上报错。把Date类型改为varchar类型,问题即解决,数据正常插入。
总结
可能varchar类型会影响数据使用,先解决问题吧,后续遇到问题再解决。个人认为向数据库里插入varchar类型的数据是最稳定的(个人经验)。
个人能力有限,如有谬误欢迎指正!