最近需要用matlab向SQL Server中写入数据,所以研究了下怎么连接MATLAB和SQL Server数据库,将自己尝试的成果记录到这里。这里是通过ODBC的方式调用数据库的。
建立数据库,服务器身份验证修改为SQL Server和Windows身份证验证模式。
控制面板——管理工具——ODBC 数据源(64 位)
用户DSN——添加——选择SQL Server
名称自己写 ,比如SQLServer,服务器写 (local)
一直下一步。(中间也可以选择默认的数据库,其他不用更改)
完成之后可以点击测试数据源查看是否连接成功。
通过以下Matlab代码读取数据库中的数据到Matlab中,可以参考注释内容理解和更改。
datasource = 'SQLServer'; %前面设置的数据源名称
connA = database(datasource,'sa','sa123456'); %SQL Server的用户名和密码
cursorA=exec(connA,'select * from DatabaseName.dbo.TableName'); %数据库名称、表名称
RowLimit = 100; % RowLimit为每次读取的数据参数的行数,默认为全部读取
cursA=fetch(cursorA,RowLimit); % 把数据库中的数据读取到Matlab中——fetch
%返回数据类型为元包(cell)型,默认为CELL型,要通过 cell2mat() 转换格式
DataA=cursA.Data; %把读取到的数据用变量Data保存.
%关闭连接
close(cursorA);
close(connA);