资源描述:
《Matlab的Sql Server数据库编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Matlab的SqlServer数据库编程lyqmath一、数据库表创建数据库表有两种方式,第一种是还原数据库的方式,假设已经存在数据库备份文件“TESTDB”,可以通过还原数据库的方式来获取数据。1. 选择还原数据库2. 选择数据库文件3. 执行还原操作这样就可以获取已备份的数据库。如果没有数据库备份,则可以通过如下方式来创建数据库,并导入表信息。以附表1为例,根据已有表结构建立数据库表data1,同理建立数据库表data2。这里采用最常用的方式来进行处理。1. 创建csv数据
2、文件data1.csv2. 打开企业管理器,创建数据TESTDB,导入数据3. 按向导执行4. 选择文本文件5. 选择csv文件6. 按向导执行7. 按向导执行8. 按向导执行9. 按向导执行10. 按向导执行11. 按向导执行12. 按向导执行13. 设计数据库表结构14. 根据字段要求设计表15. 查看数据库二、系统配置为了保证Matlab能正常访问SqlServer数据库,这里采用最
3、常见的设置数据源的方式来处理。1. 建立ODBC数据源进入控制面板->管理工具->ODBC数据源->用户DNS。2. 点击“添加”3. 选择“SQLServer”、“完成”4. 数据源名称编程时要用到,可任意命名。服务器选择自己指定的5. 选择默认数据库,下一步6. 按向导执行7. 完成配置8. 测试连接三、Matlab测试访问已建立的数据源,并做连接测试。代码clc;clear all;close all;% 获取数据源的
4、名称sourceName= 'TESTDB';% 允许登录连接时间最长为5sTimeout=logintimeout(5);% 获取数据库连接对象conn=database(sourceName, 'sa', 'df1500');% 测试数据库连接状态fprintf('数据库连接状态:');disp(ping(conn));% 获取数据元对象dbmeta=dmd(conn);% 获取表名信息t=tables(dbmeta, '');% 获取返回数组的大小[trow,tcolumn]=size(t); index=1;% 由于表
5、中既包含了系统表格,又包含了用户表格,需要在其中% 找出用户表格,对t数组的每一行的第二个元素判断是table% 则为用户表for i=1:trow if strcmp(t{i,2}, 'TABLE') tablename{1,index}=t{i,1}; index=index+1; end end for i=1:index-1 fprintf('表名:%s',tablename{1,i});end % 获取欲查看的表格的名称tabletosee=tablename{
6、1,1};% 构造查询的sql语句sql=['select*from',tabletosee];% 执行该sql语句curs=exec(conn,sql);% 设定数据返回格式setdbprefs('DataReturnFormat', 'cellarray');% 获取结果集对象curs=fetch(curs);% 获取返回数据的行数numrows=rows(curs);% 获取返回数据的列数numcols=cols(curs);% 在屏幕中显示表格信息fprintf('表%s结构为:',tabletosee);%分别获取相关信
7、息for k=1:numcols attributes=attr(curs,k); % 获取字段名称 tableinfo{k,1}=attributes.fieldName; % 获取字段类型名 tableinfo{k,2}=attributes.typeName; % 获取字段类型代码 tableinfo{k,3}=attributes.typeValue; % 获取字段的宽度 tableinfo{k,4}=attributes.columnWidth; % 获取字段是否可空 t
8、ableinfo{k,5}=attributes.nullable;end% 显示数据表的结构信息disp(tableinfo); for i=1:numcols fprintf('%s',tableinfo{i,1