JAVA之使用JDBC连接数据库-使用微软sqljdbc连接SQL Server 2005数据库

来源:互联网 发布:医院药房软件系统 编辑:程序博客网 时间:2024/05/22 04:42

关于jdbc驱动 可以去微软上下载

import java.sql.*;
public class BaseDao {
private Connection dbConn=null;
private Statement stmt=null;
private ResultSet rs=null;
public void setConnection(Connection dbConn)
{
   this.dbConn=dbConn;
}
public Connection getConnection()
{
   return this.dbConn;
}
public Statement getStatement()
{
   return this.stmt;
}
public void setStatement(Statement stmt)
{
   this.stmt=stmt;
}
public ResultSet getResultSet(){
   return this.rs;
}
public void setResultSet(ResultSet rs)
{
   this.rs=rs;
}
public void creatConnect()
{
   String driverName ="com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动
   String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=rs";  //连接服务器和数据库rs  
   String userName = "sa";   //默认用户名
   String userPwd = "123456";   //密码
   try
   {
     Class.forName(driverName);
     dbConn = DriverManager.getConnection(dbURL, userName,userPwd);
     this.setConnection(dbConn);
     this.setStatement(dbConn.createStatement());
     System.out.println("ConnectionSuccessful!");
   }catch (SQLException e) {
   e.printStackTrace();
   }
}
public ResultSet searchResult(String str){
   try{
   this.setResultSet(this.stmt.executeQuery(str));
   }catch (SQLException e) {
       e.printStackTrace();
   }
   return this.rs;
}
public void updateResult(String str)
{
   try{
   this.stmt.executeUpdate(str);
   }catch (SQLException e) {
       e.printStackTrace();
   }
}
public void closeConnect(){
   try {
       if(this.rs != null) {
       this.rs.close();
       this.rs = null;
       }
       if(this.stmt != null) {
       this.stmt.close();
       this.stmt = null;
       }
       if(this.dbConn != null) {
       this.dbConn.close();
       this.dbConn = null;
       }
   } catch (SQLException e) {
       e.printStackTrace();
   }
}
}

另外
:1.因为SQLexpress服务器默认是禁用的并且端口号没有配置,所以要进行重新设置
2.如果你以前用java连接sql server 2000的话就要注意了:
在sql server 2000 中加载驱动和URL路径的语句是
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=rs";
而sql server 2005 中加载驱动和url的语句则为
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=rs";
如果写法错误将会找不到驱动.

sqlserver数据库:java连接sqlserver2005数据库心得体会

首先得下载驱动程序到微软网站下载Microsoft SQL Server 2005 JDBC Driver 1.2  解压Microsoft SQL Server 2005 jdbc driver1.2.exe
得到sqljdbc.jar,用得时候直接加到classpath中去.

 设置SQL Server服务器
防止出现
view plaincopy to clipboardprint?
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused:connect  
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(UnknownSource)  
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(UnknownSource)  
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(UnknownSource)  
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(UnknownSource)  
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(UnknownSource)  
at java.sql.DriverManager.getConnection(Unknown Source)  
at java.sql.DriverManager.getConnection(Unknown Source)  
at Dao.GetConnection.getCon(GetConnection.java:11)  
at Dao.GetNotes.getAllNotes(GetNotes.java:13)  
at Servlets.GetFull.doGet(GetFull.java:49)  
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)  
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)  
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)  
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)  
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)  
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)  
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)  
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)  
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(UnknownSource)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(UnknownSource)
atcom.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(UnknownSource)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Dao.GetConnection.getCon(GetConnection.java:11)
at Dao.GetNotes.getAllNotes(GetNotes.java:13)
at Servlets.GetFull.doGet(GetFull.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

我使用的是SQL Server 2005标准版SP2,这些都默认即可,一般不用配置。如果需要配置端口请看下面。
  1、“开始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server 配置管理器”→“SQL Server 2005 网络配置”→“MSSQLSERVER 的协议”
  2、如果“TCP/IP”没有启用,右键单击选择“启动”。
  3、双击“TCP/IP”进入属性设置,在“IP 地址”里,可以配置“IPAll”中的“TCP 端口”,默认为1433,有的不一定是,对应就行。
    4。最好也执行下这一步:设置 “开始\程序\Microsoft SQL Server 2005\配置工具\SQL Server 外围应用配置器” 在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器” ,然后单击展开“数据库引擎”, 选中“远程连接”,在右边选中“本地连接和远程连接”, 再选择要使用的协议,( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用”,您会看到下消息:
“直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”单击“确定”按钮返回 。最好也把1433的端口加到防火墙的例外。
  5、重新启动SQL Server或者重启计算机。
  建议重启电脑。
  在Eclipse中测试
  1、打开Eclipse,“文件”→“新建”→“项目”→“Java 项目”,项目名为Test
  2、在Eclipse中,选择“窗口”→“首选项...”→“Java”→“已安装的 JRE”,选择已安装的 JRE,点击“编辑”→“添加外部”,选择%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar
  3、在Test项目的“JRE 系统库”中可以看见sqljdbc.jar,如果没有可以右键单击项目Test→“构建路径”→“配置构建路径...”→“Java 构建路径”→“库”→“添加外部 JAR...”,选择%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar
  4、编写Java代码,如下:

view plaincopy to clipboardprint?
import java.sql.*;  
  public class Test {  
  public static void main(String[] srg){  
  String driverName ="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动  
  String dbURL ="jdbc:sqlserver://localhost:1433; DatabaseName=test"; //连接服务器和数据库test  
  String userName = "sa"; //默认用户名  
  String userPwd = "123456"; //安装sql server 2005时的密码  
  Connection dbConn;  
  try {  
  Class.forName(driverName);  
  dbConn = DriverManager.getConnection(dbURL,userName, userPwd);  
  System.out.println("ConnectionSuccessful!"); //如果连接成功 控制台输出Connection Successful!  
  } catch (Exception e) {  
  e.printStackTrace();  
  }  
  }  
  }  

来源网络

 

1 0
原创粉丝点击