Matlab(32/64位)与Sql2008的连接方式,总结如下:
32位的Matlab可以通过ODBC连接SQL Server,但是这种方法存在两大问题,
第一是速度慢,因为Matlab需要用一个叫做JDBC/ODBC Bridge的东西作为桥梁间接地连接ODBC数据库,因此速度肯定比JDBC要慢。第二个问题就是64位Matlab无法通过ODBC接口访问SQL Server--因为这个悲剧,我还不得不新安装一个32位的Matlab!
既然ODBC那么不爽,我们可以跳出ODBC,而直接使用JDBC来访问数据库。
第一步,从Microsoft.COM 下载Microsoft SQL Server JDBC Driver 3.0,下载地址可以将上述关键字扔进Google中搜索就得到了。解压缩可以得到很多文件,我们需要的是其中的sqljdbc4.jar和sqljdbc.jar这两个文件。
其中后者是前者的子集,只要不出问题,直接使用前者就可以了。
第二步,在Matlab中加入jar。具体做法是找到"classpath.txt"文件,例如我的这个文件位置是 "D:\Matlab2010B\toolbox\local\classpath.txt",在文件的最后加入sqljdbc4.jar的完整路径,例如我的是: "D:/sqljdbc30/enu/sqljdbc4.jar",注意斜杠怎么写。
第三步,启动Matlab,启动过程中如果没有出错,那么这个JDBC Connector就可以用了。
databaseurl='jdbc:sqlserver://localhost:1433;';
%driver
driver='com.microsoft.sqlserver.jdbc.SQLServerDriver';
username='godman'; %登录名
password='godman'; %密码
databasename='Test'; %数据源名称
conn = database(databasename,username,password,driver,databaseurl)