Matlab的Sql Server数据库编程.docx

上传人:b****5 文档编号:3373119 上传时间:2022-11-22 格式:DOCX 页数:20 大小:807.10KB
下载 相关 举报
Matlab的Sql Server数据库编程.docx_第1页
第1页 / 共20页
Matlab的Sql Server数据库编程.docx_第2页
第2页 / 共20页
Matlab的Sql Server数据库编程.docx_第3页
第3页 / 共20页
Matlab的Sql Server数据库编程.docx_第4页
第4页 / 共20页
Matlab的Sql Server数据库编程.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

Matlab的Sql Server数据库编程.docx

《Matlab的Sql Server数据库编程.docx》由会员分享,可在线阅读,更多相关《Matlab的Sql Server数据库编程.docx(20页珍藏版)》请在冰豆网上搜索。

Matlab的Sql Server数据库编程.docx

Matlab的SqlServer数据库编程

Matlab的SqlServer数据库编程

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能正常访问SqlServer数据库,这里采用最常见的设置数据源的方式来处理。

1.        建立ODBC数据源

进入控制面板->管理工具->ODBC数据源->用户DNS。

2.        点击“添加”

3.        选择“SQLServer”、“完成”

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.columnWidth;

    % 获取字段是否可空

   tableinfo{k,5}=attributes.nullable;

end

% 显示数据表的结构信息

disp(tableinfo);

 

for i=1:

numcols

   fprintf('%s',tableinfo{i,1});

end

fprintf('\n\n');

% 获取结果集对象的数据

datanum=size(curs.data,1);

% 显示数据表中的数据量

fprintf('数据表%s中的数据量:

%d\n',tabletosee,datanum);

 

结果

 

数据库连接状态:

      DatabaseProductName:

'MicrosoftSQLServer'

   DatabaseProductVersion:

'08.00.2039'

           JDBCDriverName:

'JDBC-ODBCBridge(SQLSRV32.DLL)'

        JDBCDriverVersion:

'2.0001(03.85.1132)'

   MaxDatabaseConnections:

0

          CurrentUserName:

'dbo'

              DatabaseURL:

'jdbc:

odbc:

TESTDB'

   AutoCommitTransactions:

'True'

 

表名:

data1

表名:

data2

表名:

dtproperties

表data1结构为:

   '编号'       'varchar'   [12]   [8000]   'true'

   '性别'       'varchar'   [12]   [8000]   'true'

   '年龄'       'varchar'   [12]   [8000]   'true'

   '职业'       'varchar'   [12]   [8000]   'true'

   '教育程度'   'varchar'   [12]   [8000]   'true'

   '月收入'     'varchar'   [12]   [8000]   'true'

   '轿车购价'   'varchar'   [12]   [8000]   'true'

   '轿车用途'   'varchar'   [12]   [8000]   'true'

   '使用品牌'   'varchar'   [12]   [8000]   'true'

   '信息渠道'   'varchar'   [12]   [8000]   'true'

   '购买地点'   'varchar'   [12]   [8000]   'true'

   '满意度'     'varchar'   [12]   [8000]   'true'

   '促销偏好'   'varchar'   [12]   [8000]   'true'

 

 编号性别年龄职业教育程度月收入轿车购价轿车用途使用品牌信息渠道购买地点满意度促销偏好

 

数据表data1中的数据量:

200

>> 

四、实验结果

 

 

数据库连接状态:

      DatabaseProductName:

'MicrosoftSQLServer'

   DatabaseProductVersion:

'08.00.2039'

           JDBCDriverName:

[1x31char]

        JDBCDriverVersion:

'2.0001(03.85.1132)'

   MaxDatabaseConnections:

0

          CurrentUserName:

'dbo'

              DatabaseURL:

'jdbc:

odbc:

TESTDB'

   AutoCommitTransactions:

'True'

 

表结构为:

   '编号'           'varchar'   [12]   [8000]   'true'

   '平均月收入'     'varchar'   [12]   [8000]   'true'

   '产品质量'       'varchar'   [12]   [8000]   'true'

   'as产品功能'     'varchar'   [12]   [8000]   'true'

   '产品规格'       'varchar'   [12]   [8000]   'true'

   '产品外观'       'varchar'   [12]   [8000]   'true'

   '产品价格'       'varchar'   [12]   [8000]   'true'

   '品牌形象'       'varchar'   [12]   [8000]   'true'

   '售后服务'       'varchar'   [12]   [8000]   'true'

   '促销活动'       'varchar'   [12]   [8000]   'true'

   '店内环境'       'varchar'   [12]   [8000]   'true'

   '技术人员推荐'   'varchar'   [12]   [8000]   'true'

   '亲人朋友推荐'   'varchar'   [12]   [8000]   'true'

   '使用品牌'       'varchar'   [12]   [8000]   'true'

 

 编号平均月收入产品质量 as产品功能产品规格产品外观产品价格品牌形象售后服务促销活动店内环境技术人员推荐亲人朋友推荐使用品牌

 

数据表的数据量:

200

 

回归系数:

   7.0962

  -0.0003

   0.3172

  -0.7946

   0.5808

  -0.2341

  -0.1086

  -0.1638

  -0.4625

   0.0173

  -0.0364

   0.5403

   0.2383

  -0.2350

 

 

相关检验:

   fTest:

[19.6408]

   tTest:

[14x4double]

    TUQR:

[1.3352e+003542.7210792.44650.6376]

 

>>

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1