我是Python的新手,我正在尝试使用pyodbc从MYSQL中检索数据,我收到错误:ProgrammingError:('42000',“[42000] [Microsoft] [ODBC SQL Server Driver] [SQL Server]语法不正确靠近','。(102)(SQLExecDirectW)“) 谁能请帮忙。
以下是代码:
import pandas as pd
import pyodbc
con = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.16.90;DATABASE=dababase_nameL;PWD=password')
cursor = con.cursor()
my_query = "SELECT OPHISPOSFECHAMENTO.FD_TRANDATA,"
"GBCLIENTE.FC_MATRICULA AS CD_CLIENTE"
"GBCLIENTE.FC_NOME AS NM_CLIENTE"
"OPTITULO.FC_NOMETITULO AS NM_ATIVO"
"OPHISPOSFECHAMENTO.FN_QTDEBANCADO AS QUANTIDADE"
"(OPHISPOSFECHAMENTO.FN_QTDEBANCADO * OPHISPOSFECHAMENTO.FN_PUOPER) AS VALOR_ATUAL"
"WHERE (OPHISPOSFECHAMENTO.FC_TPOPER IN('C-FINAL', 'V-FINAL')"
"FROM OPPOSICAO OPHISPOSFECHAMENTO"
"INNER JOIN OPTITULO ON OPHISPOSFECHAMENTO.FC_CODTITULO = OPTITULO.FC_CODTITULO"
"INNER JOIN OPPAPEL ON OPTITULO.FC_CODPAPEL = OPPAPEL.FC_CODPAPEL"
"INNER JOIN GBCLIENTE ON OPHISPOSFECHAMENTO.FC_MATRICULA = GBCLIENTE.FC_MATRICULA"
"LEFT OUTER JOIN GBCLIENTE E ON E.FC_MATRICULA = OPTITULO.FC_CODEMISSOR"
"AND (OPHISPOSFECHAMENTO.FN_QTDEBANCADO > 0)"
"AND OPPAPEL.FC_CUSTODIA = 'CETIP'"
"AND (OPTITULO.FC_NOMETITULO LIKE 'LC%' OR OPTITULO.FC_NOMETITULO LIKE 'CDB%');"
cursor.execute(my_query)
con.commit()
cursor.close()
data = pd.read_sql(my_query, con)
con.close()
ProgrammingError Traceback(最近一次调用最后一次) in() 24 25 ---> 26 cursor.execute(my_query) 27 28 con.commit()
ProgrammingError:('42000',“[42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]','附近的语法不正确。(102)(SQLExecDirectW)”)