最近项目还涉及到matlab连接数据库,下面我就记录如何进行配置使得matlab能够连接sql数据库。由于最近工程做的多一些,所以分享的都在工程配置上,当初为了这些配置可是反复卸载与重装,算法其实也有,但是现在还没时间整理出来,以后会继续记录我们用到的检索流程和检索中涉及的算法。
首先先说明一下我的操作系统是win8,所用的数据库是SQLSERVER2012,所用的matlab是2012a。在安装以上软件的时候,以我的经验是要首先安装SQL2012的(不一定对),因为当初我首先装VS2010的时候,它会自带一个SQL,这就会出问题了,出在SQL的ODBC驱动版本将会是6.01(可能)。然后用Matlab2012a连接数据库的时候会报错,原因就是ODBC驱动问题。所以安装顺序是先装SQL2012,然后VS和Matlab安装顺序没影响。如果先装SQL2012,那么ODBC驱动版本就会是6.03,这时候用matlab的database函数连接数据库的时候就不会报错了。当安装好软件后,下面我记录具体的连接过程。
1. 查看服务(如有数据库冲突)
右键我的电脑->管理->服务和应用程序->服务,在右边的界面中可以查到两条服务,如图:
其实这两条服务有时候会冲突的,所以我可以选择关掉SQLEXPRESS这条服务,然后保留MSSQLSERVER。
2. 建立数据库
打开Microsoft SQL Server Management Studio,使用window验证登陆,在数据库下新建一个名字为mydb的数据库。如果你要为其建立用户,可以按照下面的流程:展开安全性->右键登录名->新建登陆名
然后如下输入用户名和密码,并且注意取消勾选“用户在下次登录时必须更改密码”,如图:
然后在用户映射中勾选如下两项,别全勾选,其中db_denydatareader,db_denydatawriter是禁止用户读写的。如图:
最好右键点击服务器,选择安全性,在服务器身份验证修改为SQL Server和Windows身份证验证模式。如图:
3. 建立数据源
建立数据源的步骤,大家可以参考这篇文章:
http://wenku.baidu.com/link?url=nTWXB-xC4SSWB024mDAk8Tue6NPeFSunjaZFoLDzhlezRUP0-2mvNb3LgeBKgSDKNpUmwqGQozF86B2ma1SuYTkR459xL9BhkR4jd8PLniK
但是我的略有不同。打开控制面板->管理工具->ODBC数据源(64位),你就会看到如下图:
点添加->选择数据源驱动程序是SQL Server->按完成:
为你的数据库命名(假设我是mydb),然后在服务器中输入(local)。如图,然后点击下一步再点击下一步将会测试是否能够连接:
如果能够连接上,将会看到,然后就选下一步,直到完成,那么数据源就建立完毕了:
如上配置好之后,就可以最后打开Matlab了,在matlab中输入database('mydb','','')就可以看到如下信息: