jTDS是一個開放原始碼的100%純Java實現的JDBC3.0驅動,
它用於連線 Microsoft SQL Server(6.5,7,2000,2005,2008 和 2012)和Sybase(10 ,11 ,12 ,15)。
jTDS是基於freeTDS的,並且是目前最快的可企業級套用的SQL Server和Sybase的JDBC驅動程式。
jTDS完全與JDBC3.0兼容,支持只向前和可滾動/可更新的結果集(ResultSets),並且支持完全獨立的並行Statements,
而且實現了所有的資料庫元數據(Database MetaData)和結果集元數據(ResultSet MetaData)方法。
基本介紹
- 外文名:jtds
- 屬於:開放原始碼
- 支持:只向前和可滾動/可更新的結果集
- 並且支持:完全獨立的並行Statements
下載與安裝,連線方法,
下載與安裝
maven的pom檔案配置:
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>
連線方法
要點:
默認資料庫實例
2)jdbc:jtds:sqlserver://localhost:1433/bid
非默認資料庫實例
資料庫URL:1)jdbc:jtds:sqlserver://localhost:1433;DatabaseName=bid;instance=myInstance(非默 認實例名)
驅動類:net.sourceforge.jtds.jdbc.Driver
-----------------------------------------------------------------------
對比:
//microsoft
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//jtds
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
String url = "jdbc:jtds:sqlserver://localhost:1433;DatabaseName=pubs";
//String url = "jdbc:jtds:sqlserver://localhost:1433/pubs";
String user = "sa";
String password = "dog";
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String sql = "select top 10 * from titles"; //titles為表名;
ResultSet rs = stmt.executeQuery(sql);
---------------------------------------------------------------------
示例:
JAVA使用JTDS連線SQL2000問題
一般有以下幾個方面:
1.WINDOWS防火牆禁止了1433連線埠
2.檢查SQL2000是否使用的是1433連線埠
3.檢查SQL2000是否升級到SP3以上版本(基本都是這個原因)
以下是使用JTDS連線SQL2000的代碼段
連線SQL2000下的TheTest庫
--------------------------------------------------------------
public static Connection getConnection(){
String dbDriver = "net.sourceforge.jtds.jdbc.Driver";
String user = "sa";
String password = "sa";
Connection conn = null;
try{
//定義連線驅動
Class.forName(dbDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("DBconnection():"+e.getMessage());
}
//--------連線SQL資料庫------------------
try
{
conn = DriverManager.getConnection(strConnection,user,password);
}
catch(SQLException ex)
{
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return conn;
}
-----------------------以下為關閉連線--------------------------
public static void closeConnection(PreparedStatement ps,Connection conn,ResultSet rs){
try{
if (rs!=null){
rs.close();
}
if (ps!=null){
ps.close();
}
if (conn!=null){
conn.close();
}
}
catch(SQLException sqlerror){
sqlerror.printStackTrace();
}
}
public static void closeConnection(PreparedStatement ps,Connection conn){
try{
if (ps!=null){
ps.close();
}
if (conn!=null){
conn.close();
}
}
catch(SQLException sqlerror){
sqlerror.printStackTrace();
}
}
public static void closeConnection(Connection conn){
try{
if (conn!=null){
conn.close();
}
}
catch(SQLException sqlerror){
sqlerror.printStackTrace();
}
}