フィルターのクリア

Fetch function in database toolbox freezes MATLAB

1 回表示 (過去 30 日間)
Nasser Hosseini
Nasser Hosseini 2016 年 12 月 2 日
コメント済み: Dhruvesh Patel 2016 年 12 月 28 日
I'm running MATLAB 2014b with Database Toolbox. I'm trying to fetch data from a database. It runs satisfactory for a while until the Fetch function suddenly freezes the whole session. Exactly the same behaviour can turn up when I run compiled .exe file of the script! What can be the reason for this behaviour?
conn = database('Remus2', '...', '...');
logintimeout(3);
logintimeout('sun.jdbc.odbc.JdbcOdbcResultSet', 3);
logintimeout('com.mathworks.toolbox.database.sqlExec', 3);
logintimeout('sun.jdbc.odbc.JdbcOdbcStatement', 3);
logintimeout('com.mathworks.toolbox.database.fetchTheData', 10);
curs_svarsfil_svar1 = exec(conn, [...
'SELECT svarsfil, svarsfil_ext, utlat_nr, svarsfil_status, case_id '...
'FROM svarsfil '...
'WHERE case_id=' ch_case_id_string ' AND svarsfil_status=utlat_nr '...
'ORDER BY 1;'...
]);
disp('Connect OK!')
try
disp('Trying to fetch...')
curs_svarsfil_svar2 = fetch(curs_svarsfil_svar1);
imFilDat = curs_svarsfil_svar2.Data;
catch
imFilDat = [];
end
close(curs_svarsfil_svar1);
close(curs_svarsfil_svar2);
close(conn);
  1 件のコメント
Dhruvesh Patel
Dhruvesh Patel 2016 年 12 月 28 日
Hi Nasser,
I understand that your MATLAB freezes while executing the script attached to the question.
There could be several reasons for the behavior that you are observing like:
  1. The amount of data you are trying to fetch is very large.
  2. The system does not register the 'logintimeout()' since it is after the call to 'database()'.
It would be helpful in finding the exact issue for the observed behavior if you share the details about the database, the driver, server machine details and the client machine details.

サインインしてコメントする。

回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by