我安装了SQL Server 2017 Express Edition。
然后我用sqlcmd -S myPC\SQLEXPRESS02 -E
启动服务器。
运行以下Python代码,没有任何错误:
import pyodbc
connection_string = "DRIVER={ODBC Driver 17 for SQL Server};" \
"server=myPC\SQLEXPRESS02;" \
"Trusted_Connection=Yes;" \
"database=mydb;" \
"MultipleActiveResultSets=True;" \
"connection timeout=30"
conn = pyodbc.connect(connection_string)
cur = conn.cursor()
cmd = 'CREATE TABLE myTable(ID int PRIMARY KEY IDENTITY(1,1) NOT NULL, Text char(5) NOT NULL, title NVARCHAR(MAX))'
cur.execute(cmd)
cur.close()
之后,我使用相同的连接字符串重新连接数据库。当我执行命令select * from myTable
时,出现以下错误
pyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid object name 'myTable'. (208) (SQLExecDirectW)")
我的连接和命令出了什么问题?我错过了什么吗?如何解决问题?