我的设置是ubuntu 16.04上的mssql(谷歌云,如果有关系)和jupyter笔记本在同一台机器上,插入行似乎在一个笔记本中工作,但一旦关闭,行不再在表中,任何想法?
NB1
import pymssql
import pandas as pd
conn = pymssql.connect(server="localhost",
user="SA",password="MM11", port=1433)
cursor = conn.cursor()
cursor.execute('use TestDB')
#cursor.execute("drop test_table")
cursor.execute("""
CREATE TABLE test_table (ddd INT)""")
stmt = "SELECT * from test_table"
df = pd.read_sql(stmt,conn)
print df.shape
for x in range(1000):
cursor.execute("insert into test_table values("+str(x)+")")
stmt = "SELECT * from test_table"
df = pd.read_sql(stmt,conn)
df.shape
运作良好并输出: (0,1) (1000,1)
NB2
import pymssql
import pandas as pd
conn = pymssql.connect(server="localhost",
user="SA",password="MM11", port=1433)
cursor = conn.cursor()
cursor.execute('use TestDB')
stmt = "SELECT * from test_table"
df = pd.read_sql(stmt,conn)
df.shape
在read_sql上失败
DatabaseError: Execution failed on sql 'SELECT * from test_table':
(208, "Invalid object name 'test_table'.DB-Lib error message 20018,
severity 16:\nGeneral SQL Server error: Check messages from the SQL
Server\n")