jTDS是一个开放源代码的100%纯Java实现的JDBC3.0驱动,
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不需要特别的安装,只需要把JAR文件放在classpath路径中就可以了。
maven的pom文件配置:
net.sourceforge.jtds
jtds
1.3.1
要点:
默认数据库实例
数据库URL:
1、)jdbc:jtds:sqlserver://localhost:1433;DatabaseName=bid
2)jdbc:jtds:sqlserver://localhost:1433/bid
非默认数据库实例
数据库URL:
1、)jdbc:jtds:sqlserver://localhost:1433;DatabaseName=bid;instance=myInstance(非默 认实例名)
2)jdbc:jtds:sqlserver://localhost:1433/bid;instance=myInstance(非默认实例名)
驱动类:net.sourceforge.jtds.jdbc.Driver
-----------------------------------------------------------------------
对比:
//microsoftClass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";//jtdsClass.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 strConnection = "jdbc:jtds:sqlserver://localhost:1433/TheTest";
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();
}
}