问题描述:
使用pymssql连接查询数据并将结果转化为dataframe,出现如下错误:pymssql.ProgrammingError: (208, b"Invalid object name ‘db.a’.DB-Lib error message 20018…
解决方法:
发现该模块不能使用“数据库名.表格名”这种方式调用,所以连接的时候就要写上要查询的数据库名。参考代码如下:
import pymssql
#连接
def get_knowledgeConn(origin2_db="数据库名"):
origin2_user="*"#sql server的账号
origin2_pw="*"#sql server的密码
origin2_host="ip:port"#sql server的host
#顺序要注重
connection2 = pymssql.connect(origin2_host,origin2_user,origin2_pw,origin2_db)#连接oracle
cursor2 = connection2.cursor()
return cursor2
#查询
import pandas as pd
def select_fromdb(table,cursor):
cursor.execute(" SELECT * FROM {}".format(table))#查询
res2=cursor.fetchall()#得到所有数据
ori2=pd.DataFrame(list(res2))#将数据转化为数据框
return ori2
原创不易,转载请声明!