Python 2.7 为什么尽管Python脚本在空闲状态下成功运行,但仍不创建表?

Python 2.7 为什么尽管Python脚本在空闲状态下成功运行,但仍不创建表?,python-2.7,pymssql,Python 2.7,Pymssql,下面是我成功运行的脚本,但仍然无法看到正在SQL Server数据库中创建的表 import _mssql conn = _mssql.connect(server='MAQSOOD-PC', user='sa', password='123', \ database='TestDB') conn.execute_non_query('CREATE TABLE persons(id INT, name VARCHAR(100))') conn.execute_non_query("INS

下面是我成功运行的脚本,但仍然无法看到正在SQL Server数据库中创建的表

import _mssql
conn = _mssql.connect(server='MAQSOOD-PC', user='sa', password='123', \
    database='TestDB')
conn.execute_non_query('CREATE TABLE persons(id INT, name VARCHAR(100))')
conn.execute_non_query("INSERT INTO persons VALUES(1, 'John Doe')")
conn.execute_non_query("INSERT INTO persons VALUES(2, 'Jane Doe')")

可能是什么问题?

我认为问题在于您需要提交事务

请尝试此版本:

import pymssql

conn = pymssql.connect('MAQSOOD-PC', 'sa', '123', 'tempdb')
cur = conn.cursor()

cur.execute('CREATE TABLE persons(id INT, name VARCHAR(100))')
cur.commit()

cur.execute("INSERT INTO persons VALUES (1, 'John Doe')")
cur.execute("INSERT INTO persons VALUES (2, 'Jane Doe')")
cur.commit()

cur.execute('SELECT * FROM persons')

for row in cur:
   print(row)

请确认您正在使用的库的版本。@BurhanKhalid可能我正在使用的库不正确。我有Windows7,64位英特尔平台。你能推荐我应该使用的图书馆吗?仍然面临同样的问题。即使在SQLServerManagementStudio中刷新数据库后,该表也不存在。Python是否没有错误?服务器上的日志是什么?从哪里可以查看日志?