java_與sql_server_2005(2000)數據庫連接_基類(jdbc驅動)(1)

關於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"; //安裝sqlserver 2005時的密碼  
  Connection dbConn;  
  try {  
  Class.forName(driverName);  
  dbConn = DriverManager.getConnection(dbURL, userName,userPwd);  
  System.out.println("Connection Successful!"); //如果連接成功 控制檯輸出Connection Successful!  
  } catch (Exception e) {  
  e.printStackTrace();  
  }  
  }  
  }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章