关闭

例6:总结数据库连接的各种方式

标签: 数据库sqlserverstringoraclejdbcmicrosoft
207人阅读 评论(0) 收藏 举报
分类:

下面通过综合的例子来说明各种数据库的连接。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.ConnectionPoolDataSource;
import javax.sql.DataSource;
import javax.sql.PooledConnection;

public class DBCon {

	// 通过JDBC-ODBC桥获得连接
	public static Connection getOdbcCon(String datasourcename, String name,String password) 
throws ClassNotFoundException, SQLException {
		String url = "jdbc:odbc:";
		Connection con = null;
		con = DriverManager.getConnection(url + datasourcename, name, password);
		return con;
	}

	// 通过SQLSERVER的三个驱动,连接SQLSERVER2000数据库
	public static Connection getSQLServerCon(String name, String password)
			throws ClassNotFoundException, SQLException {
		String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433";
		Connection con = null;
		Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
		con = DriverManager.getConnection(url, name, password);
		return con;
	}

	// 通过ORACLE的驱动,连接ORACLE数据库
	public static Connection getOracleCon(String name, String password)
			throws ClassNotFoundException, SQLException {
		Connection con = null;
		Class.forName("oracle.jdbc.driver.OracleDriver");
		// 获得连接 oracle数据库的端口号为:1521 数据服务器的名字叫goudan(作者外号)
		String url = "jdbc:oracle:thin:@127.0.0.1:1521:goudan";
		con = DriverManager.getConnection(url, name, password);
		return con;
	}

	// 通过数据源获得连接
	public static Connection getConnectionFromDataSource(String filePath)
			throws javax.naming.NamingException, SQLException {
		Connection con = null;
		Hashtable env = new Hashtable();
		env.put(Context.INITIAL_CONTEXT_FACTORY,
				"com.sun.jndi.fscontext.RefFSContextFactory");
		Context ctx = new InitialContext(env);
		DataSource ds = (DataSource) ctx.lookup(filePath);
		con = ds.getConnection();
		return con;
	}

	// 通过连接池获得连接
	public static Connection getConnectionFromPooledDataSource(String filePath)
			throws javax.naming.NamingException, SQLException {
		Connection con = null;
		Hashtable env = new Hashtable();
		env.put(Context.INITIAL_CONTEXT_FACTORY,
				"com.sun.jndi.fscontext.RefFSContextFactory");
		Context ctx = new InitialContext(env);
		ConnectionPoolDataSource ds = (ConnectionPoolDataSource) ctx
				.lookup(filePath);
		PooledConnection pc = ds.getPooledConnection();
		con = pc.getConnection();
		return con;
	}
}


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:129741次
    • 积分:3643
    • 等级:
    • 排名:第9287名
    • 原创:256篇
    • 转载:0篇
    • 译文:0篇
    • 评论:7条
    文章均来自以下教程网
    文章分类
    文章存档
    最新评论