一、问题描述
本人在项目开发过程中遇到了MATLAB连接SQL server 2016数据库的问题,本人在编写MATLAB程序后运行出现如下问题:
在变量conn中出现上图的情况,无法连接SQL server 2016,"No suitable driver found"的主要原因是缺少一个合适的驱动去通过JDBC连接,因此需要加一个JDBC驱动,具体步骤见下。
二、解决方法
2.下载过后jre为8的请选择此文件夹下的文件,最新的为jdbs6,支持SQL Server2016等
3.配置数据库允许远程连接,开启系统1433端口。
①开始 → 所有程序 → Microsoft SQL Server 2016 → 配置工具 →SQL Server配置管理器,如下图:
②打开的窗口在左边栏找到 SQL Server网络配置选项,点开它的小三角箭头,会看到“XXXXX 的协议” (图中是MSSQLSERVER的协议),选中它,看右边栏——将三个选项都右键设置为【启用】如下图:
③双击【TCP/IP】进入设置界面——在弹出的窗口中选择 “IP地址” 选项卡,将IP1和IP10的【IP地址】设为127.0.0.1,并将所有【IPx】的【已启用】设为是。接着,拖动下拉条到最下方,将 IPAll 中的【TCP端口】设成 【1433】,其余不变。如下图:
④ 完成上一步后重启电脑。接下来使用telnet命令测试1433端口是否打开,开始菜单 → 运行cmd → 输入:telnet 127.0.0.1 1433,回车,(注意telnet与127之间有空格,1与1433之间有空格),出现如下图提示则1433端口已经打开,如下图:
4. 设置matlab的启动加载项,打开C:\Program Files\MATLAB\R2018b\toolbox\local\classpath.txt
,在文件的最后添加刚才的jar文件,例如:F:\matlab\JDBCDriver\sqljdbc42.jar(注意这里需要用"\")
5.重新启动matlab,若不报错则认为加载驱动成功
6.右击 我的电脑 → 属性 → 高级系统设置(高级) → 环境变量→系统变量,在系统变量中双击CLASSPATH变量,点击新建,在最后面追加 “F:\matlab\JDBCDriver\sqljdbc42.jar” ;若不存在CLASSPATH,就新建CLASSPATH变量,并且将其值设为“F:\matlab\JDBCDriver\sqljdbc42.jar”(若您将sqljdbc42.jar文件放在别的位置,则此处环境变量就是存放sqljdbc42.jar文件的目录,完后加上。
三、结果展示
经过一系列的努力,MATLAB最终连接上了SQL server 2016,变量conn也有了数据库的信息。