Python pyodbc错误架构不存在或您没有权限

Python pyodbc错误架构不存在或您没有权限,python,sql-server,database,pyodbc,Python,Sql Server,Database,Pyodbc,我的代码: con = pyodbc.connect("DRIVER={SQL Server};SERVER=WIN-RCNSTVE00SV\SQLEXPRESS;UID=sa;PWD=password;database=master",autocommit=True) cursor = con.cursor() cursor.execute("create database test_db") cursor.execute("create table test_db.tb(id INT NO

我的代码:

con = pyodbc.connect("DRIVER={SQL Server};SERVER=WIN-RCNSTVE00SV\SQLEXPRESS;UID=sa;PWD=password;database=master",autocommit=True)
cursor = con.cursor()

cursor.execute("create database test_db")
cursor.execute("create table test_db.tb(id INT NOT NULL IDENTITY(1,1) PRIMARY KEY, random_txt VARCHAR(50), sequence TEXT, status BIT)")
创建数据库后,我无法在其中创建表。我得到这个错误:

pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]The specified schema name "test_db" either does not exist or you do not have permission to use it. (2760)

我尝试在创建数据库之后执行授予权限查询,但得到了相同的错误。我还尝试创建一个指定数据库的新con(连接),但没有成功。请帮忙

您缺少
架构
名称。应该是

create table test_db.dbo.tb
(-^^^缺少架构名称
id INT非空标识(1,1)主键,
随机变量(50),
顺序文本,
状态位
)
完全限定的对象名称将采用此格式

DatabaseName.SchemaName.ObjectName

如果您创建了任何其他架构,并且希望在该架构中创建新表,则将
架构名称
替换为
dbo
。默认情况下,对象将在
dbo
schema中创建。如果要在
dbo
schema中创建表,也可以这样编写

Create table test_db..tb()
隐式指向
dbo
模式