Connection to a database

I have a script in which data from an ORACLE database are called. The problem is that the connection isn't always succesfull. After 3-4 attempts the connection is succesfull. Do you know why does ths happen? Thanks

3 个评论

It would help if you can provide how exactly your code looks like and the error messages if any.
Are you certain that it is not something outside of MATLAB that is failing? It would be unusual for the code itself to be a source of intermittent failure.
the query for the database is
function[Vessel_Data]=stpQuery(selected_fields1)
% Set preferences with setdbprefs.
s.DataReturnFormat = 'dataset';
s.ErrorHandling = 'store';
s.NullNumberRead = 'NaN';
s.NullNumberWrite = 'NaN';
s.NullStringRead = 'null';
s.NullStringWrite = 'null';
s.JDBCDataSourceFile = '';
s.UseRegistryForSources = 'yes';
s.TempDirForRegistryOutput = 'Path';
s.DefaultRowPreFetch = '10000';
setdbprefs(s)
% Make connection to database. Note that the password has been omitted.
% Using ODBC driver.
conn = database('Base','usr','pswd');
% Read data from database.
e = exec(conn,selected_fields1);
e = fetch(e);
close(e)
% Assign data to output variable.
Vessel_Data = e.Data;
% Close database connection.
close(conn)

请先登录,再进行评论。

回答(1 个)

Piyush Kumar
Piyush Kumar 2024-9-26

0 个投票

The intermittent connection issue to a database may be due to several problems -
  • Network issues: Check the network connectivity of the server where the database is hosted and the server from where you are trying to connect.
  • Database load: If the database server is under heavy load, it might not be able to handle all connection requests immediately.
  • Timeout settings: Check the connection timeout-related settings of the database.
Refer to the following resources to get more details -

Community Treasure Hunt

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

Start Hunting!

Translated by