mssql server(ubuntu + python)没有正确插入行

时间:2017-08-27 13:35:58

标签: python sql-server pandas jupyter-notebook pymssql

我的设置是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")

0 个答案:

没有答案