Exception:
从连接池中获取数据库连接发生异常 : Cannot create PoolableConnectionFactory (Illegal connection port value '3306:DB)
Solution:
1.在Tomcat中server.xml的<GlobalNamingResources> 节点里面添加如下代码:
<Resource name="jdbc/mbss" auth="Container" type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="10"
maxWait="10000"
maxActive="100"
url="jdbc:mysql://localhost:3306/DB" />
2.在Tomcat中context.xml的</context>前添加如下代码:
<ResourceLink name="jdbc/DB" global="jdbc/DB" type="javax.sql.DataSourcer"/>
3.在所建项目中web.xml的</web-app>前添加如下代码:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mbss</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
4.在获得数据库连接池中这样写,如:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/DB");
con = ds.getConnection();
相关推荐
在SQL Server 2005中,"Cannot create PoolableConnectionFactory (用户 'sa' 登录失败。该用户与可信 SQL Server 连接无)" 错误通常表明在尝试使用SQL Server的身份验证方式登录时遇到了问题。这篇博客文章可能详细...
- `maxWait`是等待连接的最大时间,如果超过这个时间仍无法获取连接,会抛出`SQLException`,这里的值为10000毫秒(10秒)。 - `username`和`password`是数据库的登录凭据。 - `driverClassName`指定了数据库驱动...
数据库连接池的基本原理是预先创建并维护一定数量的数据库连接,当应用需要时,可以从池中获取连接,使用完毕后归还,而不是每次操作都创建新的连接。 **连接池的重要性**: 1. **资源复用**:通过重用已建立的...
1. **连接池管理**:DBCP维护了一个数据库连接池,当应用程序需要访问数据库时,可以从池中获取一个已建立的连接,使用完毕后归还给池而不是直接关闭。这样减少了创建和销毁连接的时间,提高了系统的响应速度。 2. ...
7. **异常处理**:在实际应用中,必须处理可能出现的各种异常,如连接池已满、数据库连接失败等情况,确保程序的健壮性。 8. **监控与日志**:为了方便问题排查和性能优化,连接池通常会提供监控接口和日志功能,...
4. 获取和释放连接:在需要操作数据库时,从连接池获取连接;操作完成后,及时归还连接。 5. 监控和调整:定期检查连接池的状态,根据系统负载动态调整连接池参数。 了解并正确使用数据库连接包和连接池,对于优化...
- `PoolableConnectionFactory`: 连接工厂,用于将普通的数据库连接转换为可池化的连接,添加到连接池中。 - `ObjectPool`: 对象池接口,DBCP使用`commons-pool`中的实现,如`GenericObjectPool`,来管理数据库连接...
- **创建PoolableConnectionFactory**:这是DBCP的核心,它将普通数据库连接转换为池化的连接,可以被对象池管理和回收。 - **注册PoolingDriver**:`PoolingDriver`是DBCP提供的JDBC驱动,它允许通过特定的URL...
用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联
在代码中,通过数据源获取连接,然后执行 SQL 操作,最后释放连接回池。 总结来说,Apache 数据库连接池包是 Java 应用程序优化数据库性能的重要工具,通过有效的连接管理和复用,降低了系统资源消耗,提升了应用...
kettle常见问题kettle常见问题kettle常见问题kettle常见问题kettle常见问题
使用DBCP时,要确保正确处理异常,避免连接泄露。在程序结束时,最好关闭数据源,以释放所有资源。 总的来说,Apache Commons DBCP是Java开发中实现数据库连接池的一个可靠选择,尤其适合于对性能要求不那么高但又...
4. **获取和关闭连接**:在需要使用数据库时,从数据源中获取连接;使用完毕后,必须将连接归还回连接池,而不是关闭连接。 5. **异常处理**:确保在出现异常时,能够正确地释放资源,防止资源泄露。 这个提供的...
在执行JDBC Request之后,我们可能会出现一个报错:java.sql.SQLException: Cannot create PoolableConnectionFactory (The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more...
当遇到“连接不到数据库”的问题时,通常会显示如"Io异常: The Network Adapter could not establish the connection"这样的错误信息。这个异常表明应用程序无法与数据库建立网络连接,可能由多种原因造成。以下是...
Java中的数据库连接是应用程序与数据库交互的基础,而`DBUtil`类是一个常见的工具类,用于封装数据库连接的创建、管理以及执行SQL语句的过程。在Java中,我们通常使用JDBC(Java Database Connectivity)API来实现...
2. **异常处理**: 在获取和使用连接时,应妥善处理异常,确保资源正确释放。 3. **及时升级**: 关注c3p0的更新和安全修复,保持库版本的最新。 6. **性能优化**: 结合JMX监控,持续优化连接池配置,提高应用性能。...
确认SQL Server 2000可以远程连接,除了开放1433端口外,还要升级数据库到SP3或SP4,否则连接会发出SQLNestedException:Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]...
通过深入研究"commons-dbcp-1.2.2源码",开发者不仅可以了解数据库连接池的基本原理,还能学习如何优化数据库访问性能,以及如何处理数据库连接的异常和管理,这对于构建高效、稳定的企业级应用具有重要意义。...
当应用需要连接数据库时,它会从池中获取一个已存在的连接,而不是每次都去创建新的连接。使用完毕后,连接会被返回到池中,供其他请求再次使用。这样可以减少频繁创建和关闭连接的开销,提高系统性能。 2. **...