繁体   English   中英

pyODBC插入静默失败

[英]pyODBC insert failing silently

我在Windows 7机器上使用python 3.4(ActiveState)和pyodbc 3.0.7连接到在Windows NT 6.1上运行的SQL Server 2008 RC2数据库。

我遇到的问题是下面的代码无声地失败了。 没有对数据库进行任何更改。

connection = pyodbc.connect("DRIVER={SQL Server};SERVER=(local);DATABASE=Kerb;UID=sa;PWD=password", autocommit=True)
cursor = connection.cursor()

cursor.execute('''INSERT INTO [My].[Sample] (Case) VALUES (1);''')

我也尝试过用commit语句强制插入(除非我弄错了,否则由于autocommit = True不需要插入),这也会失败,并且没有输出。

cursor.execute('''INSERT INTO [My].[Sample] (Case) VALUES (1);''')
cursor.commit()

因此,到目前为止,我的解决方案是增加睡眠时间,从而解决了该问题。 但是我担心在生产中实施此解决方案,因为它没有考虑网络延迟等问题。

cursor.execute('''INSERT INTO [My].[Sample] (Case) VALUES (1);''')
time.sleep(1)

我相信我的问题可能与以下内容有关: pyODBC和SQL Server 2008和Python 3

如果有人对进一步的调试有任何想法或有关于异步行为的文档,我很想听听。

谢谢!

不幸的是,似乎PyODBC无法在不使用超时的情况下执行插入语句。 我已经开始使用PyMSSQL,成功提交不再需要超时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM