pyODBC 插入静默失败
pyODBC insert failing silently
我在 Windows 7 盒子上使用 python 3.4 (ActiveState) 和 pyodbc 3.0.7 连接到 SQL Server 2008 RC2 数据库 运行 Window NT 6.1.
我遇到的问题是下面的代码无提示地失败了。没有对数据库进行任何更改。
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);''')
我还尝试使用提交语句强制插入(除非我弄错了,由于 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 and SQL Server 2008 and Python 3
如果有人对进一步调试有任何想法或有关于这种异步行为的文档,我很乐意听到。
谢谢!
不幸的是,PyODBC 似乎无法在不使用超时的情况下执行插入语句。我已经开始使用 PyMSSQL,成功提交不再需要超时。
我在 Windows 7 盒子上使用 python 3.4 (ActiveState) 和 pyodbc 3.0.7 连接到 SQL Server 2008 RC2 数据库 运行 Window NT 6.1.
我遇到的问题是下面的代码无提示地失败了。没有对数据库进行任何更改。
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);''')
我还尝试使用提交语句强制插入(除非我弄错了,由于 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 and SQL Server 2008 and Python 3
如果有人对进一步调试有任何想法或有关于这种异步行为的文档,我很乐意听到。
谢谢!
不幸的是,PyODBC 似乎无法在不使用超时的情况下执行插入语句。我已经开始使用 PyMSSQL,成功提交不再需要超时。