【发布时间】:2012-10-02 01:16:06
【问题描述】:
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};' +
'SERVER=' + data.dbConnection()[0] + ';' +
'DATABASE=' + data.dbConnection()[3] + ';' +
'UID=' + data.dbConnection()[1] + ';' +
'PWD=' + data.dbConnection()[2])
cursor = cnxn.cursor()
cursor.execute(
"""
CREATE TABLE Persons
(
P_Id int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
"""
)
cursor.close()
cnxn.close()
以上代码成功连接数据库。该脚本在运行时也不会返回任何错误,但是当我检查表是否已创建时,SQL DB 中根本没有表。
为什么没有创建表,为什么没有返回错误?
【问题讨论】:
-
我会首先使用相同的连接查询创建的表,也许会在其中插入一些东西。很有可能也会成功。那么这两种可能性是:1)您没有打开自动事务提交 2)您签入了错误的架构并且该表实际上存在
-
你是对的,该表确实存在。您能向我解释一下如何在 Microsoft SQL Management Studio 中检查正确的架构吗?
-
在左侧树上,打开名为 Databases 的节点。那里将有一个用于系统数据库的节点(默认创建几个),并为您创建的每个用户数据库提供单独的节点。打开您连接到的任何数据库的节点,找到名为表的节点,然后打开它。现在,您应该看到新创建的表和数据库中的任何其他表。右键单击表名以获得各种选项。
标签: python sql sql-server