【发布时间】:2011-08-26 18:02:48
【问题描述】:
我在 SQLserver 上有一个由 Matlab 执行的存储过程。该过程返回一些1.5million 行。我的操作系统是 XP x32,Matlab 版本是 2011a 32 位。每当我尝试获取此数据时,都会收到 Java 堆内存大小错误。我尝试使用 rowLimit 作为 200000 但我仍然遇到同样的错误。有趣的是,当存储过程返回
clear all % free all available memory
conn = database('xxx' , 'userid', 'passwrd') ; % works fine
setdbprefs('DataReturnFormat','numeric'); % works fine
curs = exec(conn,'execute xxxxxx') ; % works fine
fetch(curs) OR fetch(curs,200000) ; --> java.lang.OutOfMemoryError: Java heap space
您能否建议一种导入此类数据集的方法?谢谢!
【问题讨论】:
-
返回的结果集的列类型有哪些?
-
Matlab 中的双精度,SQL 中大多是浮点型。带有字符的列成为 NaN。
-
您连接的是什么 DBMS(例如 Oracle/MS SQL Server/等)?
标签: sql matlab fetch data-transfer