2015-11-19 2 views
0

Я использую Python для чтения большого количества данных из базы данных MySql с использованием пакета базы данных Python, pyodbc. Я передаю инструкцию sql с помощью cursor.execute (sqlStatement) и читаю ее с помощью cursor.fetchall().с использованием Python pyodbc для чтения из базы данных и передачи обслуживания в Matlab с помощью указателей

Я передаю его в Matlab, написав его в файле .mat со скудным пакетом.

Однако, поскольку это очень большой объем данных, я хотел бы пропустить часть записи в файл .mat и прочитать его непосредственно из памяти в Matlab. Есть какой-либо способ сделать это?

+0

MatLab может подключаться непосредственно к SQL Server через ODBC для выполнения самого запроса, AFAIK. Хотя я люблю Python, я не думаю, что это необходимо здесь: http://www.mathworks.com/help/database/ug/connecting-to-a-database-using-the-native-odbc-interface.html – FlipperPA

ответ

0

попробовать что-то вроде этого:

For row in cursor.fetchAll(): 
    #send each fetched row to Matlab here 

Я не совсем знаком с Matlab; может ли он прослушивать сокет?

Если да, то это будет что-то вроде этого, если вы уже создали подключение курсора:

cursor.execute(sqlStatement)  

socket = socket() 

try: 
    socket.connect((MATLAB_SERVER, PORT)) 
except: 
    print("Couldn't connect, are server and port available?") 
    sys.exit(1) 

For row in cursor.fetchall(): 
    #send each fetched row to Matlab here 
    socket.sendall(row) 

 Смежные вопросы

  • Нет связанных вопросов^_^