2016-08-11 4 views
0

Ich Ausführung die Toolbox Datenbank Funktion holen als einfachMatlab Datenbank Toolbox Grenze max Reihe holen

curs = exec(conn,sqlQuery); 
fetched = fetch(curs); 

und deshalb sollte die Standard max Zeilenlimit der Unendlichkeit bekommen, aber die Funktion ist nur 90.000 Zeilen zurückkehrt (es sollte mehr als 180k sein).

Weiß jemand, warum die Fetch-Funktion meine Ergebnisse abschneiden würde?

Danke.

+0

Sind Sie sicher, dass das Problem nicht auf der Serverseite ist? – obchardon

+0

Wenn es sich nicht um ein Problem auf der Serverseite handelt, sollten Sie lesen: [this] (http://ch.mathworks.com/help/database/ug/preference-settings-for-large-data-import.html) – obchardon

Antwort

0

Sie sollten versuchen, die Stapelgröße zu begrenzen, mit:

bsize = 80000; %where bsize < NumberOfRow 

setdbprefs('FetchInBatches','yes') %you divide your result into smaller part. 
setdbprefs('FetchBatchSize','h') %you fix the size of each part 

curs = exec(conn,sqlQuery); 
fetched = fetch(curs); 

wenn es nach wie vor, nicht die Arbeit könnte es möglich sein, dass die Variable Matlab nicht diese Menge an Daten unterstützen kann, so dass Sie die letzte Zeile ersetzen mit:

vsize = 85000; %variable size 
fetched = fetch(curs,vsize); 
Verwandte Themen