## 解决pymssql.ProgrammingError: (208, b“Invalid object name ‘db.a‘.DB-Lib error message 20018…

问题描述:
使用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

原创不易,转载请声明!

你可能感兴趣的:(pymysql,python,mssql,数据库)