Matlab的Sql Server数据库编程.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab的Sql Server数据库编程 lyqmath 一、数据库表 创建数据库表有两种方式,第一种是还原数据库的方式,假设已经存在数据库备份文件“TESTDB”,可以通过还原数据库的方式来获取数据。 1.????????选择还原数据库 2.????????选择数据库文件 3.????????执行还原操作 这样就可以获取已备份的数据库。如果没有数据库备份,则可以通过如下方式来创建数据库,并导入表信息。 以附表1为例,根据已有表结构建立数据库表data1,同理建立数据库表data2。这里采用最常用的方式来进行处理。 1.????????创建csv数据文件data1.csv 2.????????打开企业管理器,创建数据TESTDB,导入数据 3.????????按向导执行 4.????????选择文本文件 5.????????选择csv文件 6.????????按向导执行 7.????????按向导执行 8.????????按向导执行 9.????????按向导执行 10.????按向导执行 11.????按向导执行 12.????按向导执行 13.????设计数据库表结构 14.????根据字段要求设计表 15.????查看数据库 二、系统配置 为了保证Matlab能正常访问Sql Server数据库,这里采用最常见的设置数据源的方式来处理。 1.????????建立ODBC数据源 进入控制面板-管理工具-ODBC数据源-用户DNS。 2.????????点击“添加” 3.????????选择“SQL Server”、“完成” 4.????????数据源名称 编程时要用到,可任意命名。服务器选择自己指定的 5.????????选择默认数据库,下一步 6.????????按向导执行 7.????????完成配置 8.????????测试连接 三、Matlab测试 访问已建立的数据源,并做连接测试。 代码 clc; clear?all; close?all; %?获取数据源的名称 sourceName =?TESTDB; %?允许登录连接时间最长为5s Timeout = logintimeout(5); %?获取数据库连接对象 conn = database(sourceName,?sa,?df1500); %?测试数据库连接状态 fprintf(\n数据库连接状态:\n); disp(ping(conn)); %?获取数据元对象 dbmeta = dmd(conn); %?获取表名信息 t = tables(dbmeta,?); %?获取返回数组的大小 [trow,tcolumn] = size(t); ? index = 1; %?由于表中既包含了系统表格,又包含了用户表格,需要在其中 %?找出用户表格,对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\n, tablename{1, i}); end ? ? %?获取欲查看的表格的名称 tabletosee = tablename{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结构为:\n, tabletosee); %分别获取相关信息 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.column

文档评论(0)

yyh892289 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档