最近項目還涉及到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','','')就可以看到如下信息: