我的代码:
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)
我尝试在create database之后执行grant permission查询,但得到了同样的错误。我也尝试创建一个新的con(连接)指定数据库,但没有工作。请帮忙。
答案 0 :(得分:2)
您缺少schema
名称。它应该是
create table test_db.dbo.tb
( --^^^ Missing schema name
id INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
random_txt VARCHAR(50),
sequence TEXT,
status BIT
)
完全限定的对象名称将采用此格式
DatabaseName.SchemaName.ObjectName
如果您创建了任何其他架构,并且想要在该架构中创建新表,请将schema name
替换为dbo
。默认情况下,将在dbo
模式中创建对象。如果要在dbo
模式中创建表,那么您也可以像这样编写
Create table test_db..tb()
..
隐式指向dbo
架构