使用代码进行数据资源管理器功能而不是GUI

时间:2015-07-09 20:35:54

标签: matlab

在Matlab的数据库工具箱中,我使用数据资源管理器来设置与我的accdb文件相对应的数据源。有没有办法使用代码而不是GUI执行数据资源管理器功能?

这张贴于:

1 个答案:

答案 0 :(得分:0)

TMW的以下回应解决了我的问题:

'...数据库功能页面上的文件DSN示例?示例标题为:“使用文件DSN连接到Microsoft Access”。这允许您构建一个可以在数据库函数中用作最后一个输入参数的路径。在这种情况下,不需要设置数据源。因此,一切都可以通过在命令行或MATLAB脚本上编写代码来完成。'

以下是一些示例代码,它使用上述解决方案连接到* .accdb文件,提取数据并使用数据:

wbe3accdb_path='C:\cygwin64\home\My.User.Name\Projects\SomeProject\WBEs\wbe3\wbe3.accdb';
wbe3accdb_url= [ 'jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DSN='';DBQ=' wbe3accdb_path ];
conn = database('','','','sun.jdbc.odbc.JdbcOdbcDriver',wbe3accdb_url); 

curs=exec(conn,'SELECT * FROM SomeTableInAccdbDatabase')
curs=fetch(curs)
columnnames(curs)
close(conn)
scatter( ...
  curs.Data.SomeNumericalFieldName, ...
  curs.Data.AnotherNumericalFieldName, ...
  's' ...
)
set(gca,'xscale','log','yscale','log')

corr( ...
  curs.Data.SomeNumericalFieldName, ...
  curs.Data.AnotherNumericalFieldName, ...
  'rows', ...
  'pairwise' ...
)