It possible to compile out a .dll with database toolbox function inside?

2 views (last 30 days)
teresa on 28 Oct 2011
I have an application that works perfectly in MATLAB but when compiled as a c sharp dll does not...
function doModel(address,port,dbname,user,password,table,startingdate, endate)
%function doModel(address,port,db,user,password,table,startingdate,endate)
% Input Parameters
% address : database internet protocol address (ex: localhost,XXX.XXX.XXX.XXX...)
% port : internet port (ex: 1433)
% db : database name
% user : user with permission
% password: password for the user with permission
% table : database table
% startingdate : start date index for trainnign data selection
% enddate : end date index for trainning data selection
% Output Parameters
% model.mat : file with databasedata
%init database toolbox
%start database connection
driver = '';
url = strcat('jdbc:sqlserver://',address,':',port,';database= ',dbname);
%select Data from Table in Database where date is between startingdate and
%colnames ={'Date','PowerConsumed','WorkingDay','Temperature','Rain'};
sqlquery = ['select * from ',dbname,'.dbo.',table,' where Date >=''',startingdate,''' and Date<=''',endate,''''];
curs = fetch(conn, sqlquery);
TimeMatrixString = curs(:,1);
TotalPower = curs(:,2);
save data.mat TimeMatrixString TotalPower;
  1 Comment
Kaustubha Govind
Kaustubha Govind on 28 Oct 2011
The Database Toolbox is supported with MATLAB Compiler ( You probably need to debug the issue to see what the error is. Try printing the conn.Message field from your MATLAB function - it is empty when the database command is successful.

Sign in to comment.

Answers (1)

Titus Edelhofer
Titus Edelhofer on 28 Oct 2011
I guess you will need to add the sqljdbc4.jar statically, i.e., to your classpath.txt. On the deployment machine put the classpath.txt in the directory where the dll is as well.
Titus Edelhofer
Titus Edelhofer on 31 Oct 2011
Hi Francesc,
you need to edit classpath.txt which is matlabroot/toolbox/local/classpath.txt on your development machine and mcrroot/toolbox/local/classpath.txt on the deployment machine (where mcrroot is where you installed the MCR using MCRInstaller, something like c:\program files\Matlab Compiler Runtime\v714

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by