俺不会用JDBC-ODBC桥连,俺只用3种方法连数据库:纯Java(JDBC);JNDI ;或使用配置文件
俺用的是Microsoft SQLServer 2005
1.JDBC
Java code
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCConn {
public static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
public static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=books";
public static final String USER = "sa";
public static final String PWD = "ok";
private Connection conn = null;
public Connection getConn() {
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL,USER,PWD);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
}
2.JDNI
1)将jar包拷贝到Tomcat的lib文件夹下
2)在conf文件夹的context.xml内配置数据源
XML code
<Resource name="jdbc/books" auth="Container" type="javax.sql.DataSource"
maxActive="1000" maxIdel="30" maxWait="10000"
username="sa" password="ok"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=books" />
3)
Java code
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class JNDIConn {
private Connection conn = null;
public Connection getConn() {
try {
Context context = new InitialContext();
DataSource source = (DataSource) context.lookup("java:comp/env/jdbc/books");
conn = source.getConnection();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();return conn;
}
}
}
第3种方法和JDBC差不多,只是把数据库连接要的参数放在配置文件中读取。