Fetch function in database toolbox freezes MATLAB

1 visualización (últimos 30 días)
Nasser Hosseini
Nasser Hosseini el 2 de Dic. de 2016
Comentada: Dhruvesh Patel el 28 de Dic. de 2016
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 comentario
Dhruvesh Patel
Dhruvesh Patel el 28 de Dic. de 2016
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.

Iniciar sesión para comentar.

Respuestas (0)

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by