How do I connect JDBC with compiled application?
Ältere Kommentare anzeigen
Hi,
We are using Matlab to process some data and want to output the result in a database.
To do so, we tried with the Database Toolbox. After some troubleshooting with JDBC Driver path which didn't seem to work out of the box, we have been able to run the script in Matlab this way:
conn = database(databasename, username, password, 'Server', server, 'PortNumber', port, 'Vendor', 'Microsoft SQL Server', 'AuthType', authType);
We are using the Matlab Compiler to produce an exe, the Compiler state that it should support the toolbox here.
When we do so, we still have the following error, which tell us the function does not seem to exists, an error we do not have in Matlab.

What can we do to troubleshoot this issue?
Thanks
For reference here a sample of the full script.
- writetable were added only for debugging
- datainsert is deprecated, sqlwrite should be used, but I could would not let me insert data only and was always generating a create table.
function [] = tampon(server, port, databasename, authType, username, password)
writetable(cell2table({'2'}),'log.txt','WriteVariableNames',false)
conn = database(databasename, username, password, 'Server', server, 'PortNumber', port, 'Vendor', 'Microsoft SQL Server', 'AuthType', authType);
writetable(cell2table({'3'}),'log.txt','WriteVariableNames',false)
load('output.mat');
writetable(cell2table({'4'}),'log.txt','WriteVariableNames',false)
output = output(:,1:5);
writetable(cell2table({'5'}),'log.txt','WriteVariableNames',false)
datainsert(conn,'dbo.test', cellstr(output.Properties.VariableNames), output);
writetable(cell2table({'6'}),'log.txt','WriteVariableNames',false)
close(conn);
writetable(cell2table({'7'}),'log.txt','WriteVariableNames',false)
end
6 Kommentare
Kojiro Saito
am 2 Apr. 2019
Could you add the following line in your function
which database
and confirm Database Toolbox function is added compiled application properly?
Adrien Corbin
am 2 Apr. 2019
Kojiro Saito
am 2 Apr. 2019
Add "which database" in the first line in function tampon.
Then enable log file by checking in "Create log file" in Application Compiler Window (please see Additional Runtime Settings document). So result of "which database" is written in a log file of the compiled application.
Adrien Corbin
am 2 Apr. 2019
Kojiro Saito
am 3 Apr. 2019
So, database command is pointing to the right m file.
How did you set up JDBC driver in MATLAB and how do you call compiled exe in Command Prompt?
Adrien Corbin
am 4 Apr. 2019
Bearbeitet: Adrien Corbin
am 5 Apr. 2019
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Database Toolbox finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!