【发布时间】:2019-10-17 13:24:05
【问题描述】:
我正在尝试通过 pymssql 创建表,但出现错误:
InterfaceError: 连接已关闭。
我已经尝试将 CREATE TABLE 语句与 SELECT 语句放在同一个连接中,但是当我这样做时,没有创建任何表。
有人有解决办法吗?
这是我的代码:
from bs4 import BeautifulSoup as bs
import re
from collections.abc import Iterable
import pymssql
conn = pymssql.connect(
host='xxxx',
port=xxx,
user='xxxx',
password='xxxx',
database='xxxx'
)
cursor = conn.cursor()
cursor.execute('SELECT xxx FROM xxx')
text = cursor.fetchall()
conn.close()
c1 = conn.cursor()
c1.execute("""
IF OBJECT_ID('persons', 'U') IS NOT NULL
DROP TABLE persons
CREATE TABLE persons (
id INT NOT NULL,
name VARCHAR(100),
salesrep VARCHAR(100),
PRIMARY KEY(id)
)
"""
)
conn.close()
raw = []
raw.append(text)
raw1 = str(raw)
soup = bs(raw1, 'html.parser')
autor = soup.get_text()
clear = []
s = autor.replace('\\n', '')
clear.append(s)
print (clear)
【问题讨论】:
-
conn.close()关闭连接,因此您的查询不起作用。您要么需要重新建立连接,要么打开另一个 -
所以我不能把 SELECT 语句和 CREATE 语句放在同一个连接中?
-
你可以没有问题,只是不要关闭连接