无法使用pyodbc在Access中创建表
我正在尝试用Python和pyodbc在MS Access数据库中创建表格,但当我运行我的代码时,没有创建任何表格,也没有出现错误。我的代码是:
#!/usr/bin/env python
import pyodbc
con = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=Z:\Data\Instruments\testDB.accdb; Provider=MSDASQL;')
cur = con.cursor()
string = "CREATE TABLE TestTable(symbol varchar(15), leverage double, shares integer, price double)"
cur.execute(string)
这可能出什么问题呢?
2 个回答
3
还有一些解决方案,不需要手动提交数据:
在创建连接实例时,设置 autocommit = True
。
例如:
con = pyodbc.connect(your_connection_string, autocommit = True)
或者
使用 with
语句,这样在 with
块结束时,连接被删除之前会自动提交所有内容,具体可以参考 Python 数据库连接关闭。
例如:
with pyodbc.connect(your_connection_string) as con:
CREATE_TABLE_CODE_WITHOUT_COMMIT
UNRELATED_CODE
25
你需要提交这个事务:
import pyodbc
con = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=Z:\Data\Instruments\testDB.accdb; Provider=MSDASQL;')
cur = con.cursor()
string = "CREATE TABLE TestTable(symbol varchar(15), leverage double, shares integer, price double)"
cur.execute(string)
con.commit()