sqlserver连接池,sqlserver连接池配置

java连接SqlServer2008的数据库连接池怎么使用

java连接SqlServer2008的数据库连接池使用:

创新互联建站一直在为企业提供服务,多年的磨炼,使我们在创意设计,成都营销网站建设到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过十载以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务IDC机房托管app软件定制开发、手机移动建站、网页设计、网络整合营销。

import java.sql.Connection;

import java.sql.SQLException;

import java.util.Vector;

/**数据库连接池的公共类 **/

public class ConnectionPool {

private VectorConnection pool;//声明集合,里面只能是放Connection

/**

* 声明要的东西

*/

private String url = "jdbc:sqlserver://localhost:1433; database=ajax";

private String username = "sa";

private String password = "sa123";

private String driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

/**

* 连接池的大小,也就是连接池中有多少个数据库连接

*/

private int poolSize = 5;

private static ConnectionPool instance = null;

/**

* 私有的构造方法,禁止外部创建本类的对象,要想获得本类的对象,通过codegetIstance/code方法

* 使用了设计模式中的单子模式

*/

private ConnectionPool() {

init();

}

/**

* 连接池初始化方法,读取属性文件的内容 建立连接池中的初始连

*/

private void init() {

pool = new VectorConnection(poolSize);

//readConfig();

addConnection();

}

/**

* 返回连接到连接池

*/

public synchronized void release(Connection conn) {

pool.add(conn);

}

/**

* 关闭连接池中的所有数据库连接

*/

public synchronized void closePool() {

for (int i = 0; i pool.size(); i++) {

try {

((Connection) pool.get(i)).close();

} catch (SQLException e) {

e.printStackTrace();

}

pool.remove(i);

}

}

/**

* 返回当前连接池的对象

*/

public static ConnectionPool getInstance() {

if (instance == null) {

instance = new ConnectionPool();

}

return instance;

}

/**

* 返回连接池中的一个数据库连接

*/

public synchronized Connection getConnection() {

if (pool.size() 0) {

Connection conn = pool.get(0);

pool.remove(conn);

return conn;

} else {

return null;

}

}

/**

* 在连接池中创建初始设置的的数据库连接

*/

private void addConnection() {

Connection conn = null;

for (int i = 0; i poolSize; i++) {

try {

Class.forName(driverClassName);

conn = java.sql.DriverManager.getConnection(url, username,

password);

pool.add(conn);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

sqlserver连接池,为什么我的一个页面每刷新一次,数据库连接池就多一个链接数,同个网站下的别的页面

应该是Connection对象没有Close造成的,导致它没有回到连接池里去。

检查一下代码,要么忘写了,要么是异常或提前返回导致没有执行Close

如何修改sqlserver客户端连接池

int maxCount = 40000;

string connstr="Server=joe;Database=AdventureWorks;User ID=sa;Password=test;pooling=true;connection lifetime=0;min pool size = 1;max pool size=40000";

修改连接字符串

连接池druid连接SqlServer 2008问题

--解决办法:使用以下代码将远程查询超时值设置为 0(无限等待):

sp_configure 'remote query timeout', 0

go

reconfigure with override

go

配置Tomcat7 Sqlserver连接池。

请参考

首先配置:META-INF/context.xml:

?xml version="1.0" encoding="UTF-8"?

Context path="" reloadable="true" crossContext="true"

Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"

maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root"

driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/db_name" /

/Context

再配置:WEB-INF/web.xml:在web-app元素下

resource-ref

descriptionDB Connection/description

res-ref-namejdbc/TestDB/res-ref-name

res-typejavax.sql.DataSource/res-type

res-authContainer/res-auth

/resource-ref

程序:

InitialContext ctx = new InitialContext();

Context envContext = (Context) ctx.lookup("java:comp/env");

DataSource ds = (DataSource) envContext.lookup("jdbc/TestDB");

Connection conn = ds.getConnection();

Statement stmt = conn.createStatement();

stmt.execute(“执行的SQL语句”);

stmt.close();

conn.close();

sqlserver可以用druid连接池吗

DBCP(DataBase connection pool)数据库连接池。是Apache上的一个 java连接池项目,也是 tomcat使用的连接池组件。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。dbcp没有自动的去回收空闲连接的功能。


分享标题:sqlserver连接池,sqlserver连接池配置
文章源于:http://cdiso.cn/article/hcdpos.html

其他资讯