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 Comments

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)

Sign in to comment.

Answers (1)

Piyush Kumar
Piyush Kumar on 26 Sep 2024
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 -

Asked:

on 12 Jan 2017

Answered:

on 26 Sep 2024

Community Treasure Hunt

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

Start Hunting!