使用JDBC方式访问SQLserver

我的电脑系统是WIN7,64位,matlab为2012a版本,数据库为SQLserver2008.

在MATLAB环境下可以使用ODBC和JDBC两种方式访问数据库,但是使用ODBC一直都不能连接到数据库,上网查询资料,有人说在X64位的Matlab中此路不通,于是使用JDBC的方式访问数据库,由于对这一块实在不了解,着实费了一些周折。

一、为什么要用JDBC连接

      首先,Matlab是通过Java写的,自身处理JDBC方式更加迅速;其次ODBC方式连接Sqlserver最终也是转换为JDBC方式。

二、连接工具准备

     1、Sqlserver JDBC驱动

            去Microsoft.com官方网站上下载,下载压缩包即可。

    解压缩可以得到很多文件,需要的是其中的sqljdbc4.jar和sqljdbc.jar这两个文件。其中后者是前者的子集,只要不出问题直接使用前者就可以了。


     将解压到的sqljdbc4.jar 复制到matlab安装目录%MATLAB\R2012a\java\jar 下。     

           设置matlab的启动加载项,打开%MATLAB\R2012a\toolbox\local\classpath.txt,在文件的最后添加刚才的jar文件的路径,$matlabroot/java/jar/sqljdbc4.jar(注意这里需要用"/"),保存。

             重新启动matlab,若不报错则认为加载驱动成功  

     也可以在matlab命令窗口输入javaclasspath来验证matlab有没有包含jar文件。    

      

      2、配置数据库允许远程连接,开启系统1433端口,此处参考  http://www.2cto.com/database/201306/217563.html

(1) 关闭 数据库 引擎



打开配置管理器,找到 SQL Server(SQEXPRESS),右键单击,选择停止,即可停止数据库引擎



(2) .配置服务器端和客户端的TCP/IP协议:
在SQL Server网络配置中选择SQLEXPRESS的协议,选择TCP/IP ,右键单击,选择属性




选择IP 地址选项卡
把"IP1"和"IP2"中"TCP端口"为1433,"已启用"改为"是" 
把“IP地址”下“IPALL”的端口改为“1433”。


(3)SQL Native Client 10.0 配置->客户端协议->TCP/IP 




(4).开启数据库引擎

这样就开启了1433的端口了

三、连接步骤

     1、设置连接字符串   

第一步建立一个到数据库的连接。假设SQL Server地址是127.0.0.1,若是本地数据库,可为 localhost ,端口是1433,数据库名称是RTQ用户名user密码 pwd那么用下面的语句建立一个到该数据库的连接。 




     

      conn=database('RTQ','user','pwd','com.microsoft.sqlserver.jdbc.SQLServerDriver','jdbc:sqlserver://127.0.0.1:1433;databaseName=RTQ');

我的输入为:conn=database('matlab','sa','*******','com.microsoft.sqlserver.jdbc.SQLServerDriver',...
    'jdbc:sqlserver://localhost:1433;databaseName=matlab')

     2、验证是否连接到数据库

      isconnection(conn);%若返回1则认为连接成功。

    3、对数据的具体操作

      包括增删改查

     4、关闭数据库连接

     close(conn);


你可能感兴趣的:(matlab)