2017-09-19 1 views
0

저장 프로 시저를 실행하고 출력으로 거대한 파일을 반환하는 SQL Server에 원격으로 연결하려고합니다.mySQLdb connection 잘린 출력을 반환합니다.

파일을 SQLbox에서 로컬로 실행하고 ~ 800,000 행을 예상대로 반환하지만 파이썬에서 mySQLdb 라이브러리를 사용하여 실행하려고하면 ~ 6000 행의 잘린 출력 만받습니다.

작은 데이터에는 문제가 없으므로 일부 결과 제한이 적용될 것으로 예상됩니다.

어딘가에 변경해야 할 속성이 있지만 거기에 관해서는 pypi 라이브러리에 관련 문서가없는 것으로 보입니다.

import MySQLdb 
import pandas as pd 

connection = MySQLdb.connect(sql_server,sql_admin,sql_pw,sql_db) 
sql_command = """call function(4)""" 
return pd.read_sql(sql_command, connection) 

답변

0

나는이 사용하는 커서를 해결할 수 있었다 : 설명을위한

, 내가 아래에있는 내 코드가 포함 시켰습니다. 내가 택한 접근법은 아래에 표시되어 있으며 잘하면 다른 사람을 도울 것입니다.

connection = MySQLdb.connect (host = sql_server, user = sql_admin, passwd = sql_pw, db = sql_db) 
cursor = connection.cursor() 
cursor.execute("""call function(4)""") 
data = cursor.fetchall() 

frame = [] 
for row in data: 
    frame.append(row) 
return pd.DataFrame(frame) 

cursor.close() 
# close the connection 
connection.close() 
관련 문제