Java远程访问SQL Server 2008R2数据库
来源:互联网 发布:数据库原理与应用样卷 编辑:程序博客网 时间:2024/06/15 21:25
原本想在本地安装oracle数据库,以便学习数据库编程,但linux安装oracle非常麻烦,因此,采用远程访问的方式,使用另一台Windows计算机上的SQL Server2008 R2数据库。为方便以后编程时使用,特封装了Java在Linux平台上通过jdbc驱动远程访问SQL Server 2008 R2的类,以供各位参考纠正。
封装的Sql类采用Java的单例模式实现,对外提供方法包括:
1.返回实例方法:Instance(String dbURL,String userName,String userPwd);
2.创建连接方法:Connect();
3.建立查询方法:SqlQuery(String strsql);
4.返回访问数据结果对象方法:resultSet();
5.关闭连接方法:Close();
Sql类
package com.anson.java;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * 使用java单例模式,封装对通过jdbc对sql server远程访问类 * @author anson * */public class Sql {private static Sql sqlObj=null;private final String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";private String dbURL=null;private String userName=null;private String userPwd=null;private Connection connction=null;private Statement statement=null;private ResultSet resultset=null;/** * 私有构造函数 * 构建sql server连接字 * @param dbURL * @param userName * @param userPwd */private Sql(String dbURL,String userName,String userPwd){this.dbURL=dbURL;this.userName=userName;this.userPwd=userPwd;}/** * 提供对外访问方法 * @param dbURL 远程IP及端口,例如“jdbc:sqlserver://100.120.13.72:1433;DatabaseName=MyTestDB” * @param userName 用户名,例如“sa” * @param userPwd 用户密码,例如“123456” * @return Sql类的唯一实例,对象名称sqlObj */public static Sql Instance(String dbURL,String userName,String userPwd){try{if(null==sqlObj){sqlObj=new Sql(dbURL,userName,userPwd);}}catch(Exception e){e.printStackTrace();}return sqlObj;}/** * 提供外部访问数据的方法 * @return ResultSet对象 */public ResultSet resultSet(){return this.resultset;}/** * 创建数据库连接 */public void Connect(){try{//加载SQL SERVER驱动程序Class.forName(driverName);//建立连接this.connction=DriverManager.getConnection(dbURL, userName, userPwd);this.statement=this.connction.createStatement();} catch (SQLException e){// TODO Auto-generated catch blockSystem.out.println("Error Get Data!");e.printStackTrace();} catch (ClassNotFoundException e){// TODO Auto-generated catch blockSystem.out.print("Error Loading SQLServer Driver!");e.printStackTrace();}}/** * 建立sql查询 * @param strsql 所需编写的sql server查询语句 */public void SqlQuery(String strsql){try{this.resultset=this.statement.executeQuery(strsql);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 关闭链数据科连接 */public void Close(){try{//关闭所有连接this.resultset.close();this.statement.close();this.connction.close();} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();}}}
以下使用Test类测试Sql类的使用,Test类连接的的是另一台主机的SQL Server 2008 R2数据库。再次之前,需事先将该SQL Server 2008 R2配置为可远程访问。
Test类
package com.anson.java;import java.sql.ResultSet;import java.sql.SQLException;public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubString dbURL="jdbc:sqlserver://100.120.13.72:1433;DatabaseName=MyTestTeachingDB";String userName="sa";String userPwd="123456";Sql sql=Sql.Instance(dbURL, userName, userPwd);sql.Connect();String strsql="select s.sno as 学号,s.sname as 姓名,c.cno as 课程号,c.cname as 课程名,sc.grade as 成绩" +" from student s, student_course sc,course c" +" where s.sno=sc.sno and c.cno=sc.cno";sql.SqlQuery(strsql);try{ResultSet resultSet=sql.resultSet();while(resultSet.next()){System.out.println(resultSet.getString("学号")+""+resultSet.getString("姓名")+" "+resultSet.getString("成绩"));}}catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();}}}
测试结果:
(以上为从数据库导出的部分数据截图)
0 0
- Java远程访问SQL Server 2008R2数据库
- Sql Server 2008 R2连接远程数据库
- SQL SERVER 2008 R2 远程备份数据库
- SQL Server 2008 R2 的安装与远程访问
- java连接sql server 2008 R2数据库
- SQL Server 2008 R2如何开启数据库的远程连接
- SQL Server 2008 R2如何开启数据库的远程连...
- SQL Server 2008 R2如何开启数据库的远程连接
- SQL Server 2008 R2如何开启数据库的远程连...
- SQL Server 2008 R2如何开启数据库的远程连...
- SQL Server 2008 R2如何开启数据库的远程连接
- SQL Server 2008 R2如何开启数据库的远程连接
- SQL Server 2008 R2如何开启数据库的远程连接
- SQL Server 2008 R2如何开启数据库的远程连接
- SQL Server 2008 R2如何开启数据库的远程连接
- SQL Server 2008 R2开启数据库的远程连接
- SQL Server 2008 R2如何开启数据库的远程连接
- SQL Server 2008 R2如何开启数据库的远程连接
- ng2 DI
- SpringMVC(二)ContextLoaderListenner
- 修改caffe输出multilabel,并自己训练完成了一个神经网络,初步达到目标检测的效果
- postgresql时间函数j2date
- 安卓学习笔记---Fragment 里面加webview 监听onback事件(WebView的返回以及整个退出事件)
- Java远程访问SQL Server 2008R2数据库
- PAT-1001
- Tomcat7通过redis 来进行session复制的设置过程(jcoleman/tomcat-redis-session-manager)
- 【杭电oj】2089 - 不要62(打表)
- poj2585 Window Pains (裸拓扑排序)
- 小小验证码有大作用!——一般处理程序生成验证码
- Jsonp
- 自编写C语言头文件
- python多线程(1)--单线程和多线程