c3p0连接sybase数据库报错

q39461011 2015-12-23 05:07:24
c3p0连接sybase数据库报错,但jdbc连接没问题

public class TestConn {

private static final String username = "root";
private static final String password = "netcool";
private static final String mysql = "jdbc:sybase:Tds:172.20.8.178:4100/alerts";
private static Connection conn = null;
private static Statement stmt = null;
private static ResultSet rs = null;
private static String sql = "";
private static String sname;
private static int score;

public static void main(String[] args) throws ClassNotFoundException {
try {
//sybase.jar com.sybase.jdbc.SybDriver
Class.forName("com.sybase.jdbc3.jdbc.SybDriver");
System.out.println("Successfully download JDBC!");
conn = DriverManager.getConnection(mysql, username, password);
System.out.println("Successfully connect to DB!");
System.out.println(conn);
} catch (SQLException e) {
System.err.println(e.getMessage());
}
try {
stmt = conn.createStatement();
String sql = "select count(1) from status";
rs = stmt.executeQuery(sql);
List list = new ArrayList();
while(rs.next()){
list.add(rs.getString(1));
System.out.println(rs.getInt(1));
}
System.out.println(list.get(0).toString());

} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
rs.close();
stmt.close();
conn.close();

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

c3p0源码:

<!-- c3p0连接池配置 -->
<bean id="dataSourceNrptdev" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="${nrptdev.user}" />
<property name="password" value="${nrptdev.password}" />
<property name="driverClass" value="${nrptdev.driverClass}" />
<property name="jdbcUrl" value="${nrptdev.url}" />

配置文件信息:

netcoolEvent.driverClass=com.sybase.jdbc3.jdbc.SybDriver
netcoolEvent.url=jdbc:sybase:Tds:172.20.8.178:4100/alerts
netcoolEvent.user=root
netcoolEvent.password=netcool

报错主要信息:

Caused by: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
### The error may exist in com/nantian/netcool/dao/NCEventMapper.xml
### The error may involve com.nantian.netcool.dao.INCEventDao.getCount
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)


[2015-12-23 17:11:15,417] WARN com.mchange.v2.resourcepool.BasicResourcePool 1841 - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@15f0f82 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLException: JZ0SJ: 没有在此数据库中发现元数据存取器信息。 请按 jConnect 文档中所述安装 所需的表。
at com.sybase.jdbc3.jdbc.ErrorMessage.raiseError(Unknown Source)

...全文
1172 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mfkpie 2017-07-24
  • 打赏
  • 举报
回复
我也遇到了这个问题了怎么处理呀。楼主!!!!
baidu_15765325 2016-01-12
  • 打赏
  • 举报
回复
楼主的问题解决了吗,我也遇到这个问题。急啊!
q39461011 2015-12-26
  • 打赏
  • 举报
回复
谢谢各位的回答,虽然最终没有我最想要的答案,但大家回答问题的热心和耐心还是很令我感动!
文修 2015-12-24
  • 打赏
  • 举报
回复
楼主你好 我之前在程序中也遇到过类似的问题,附上解决方法供参考 解决方法: 有在此数据库中发现元数据存取器信息。请按jConnect文档中所述安装所需的表。试图检索元数据信息时出错:java.sql.SQLException:JZOSJA:没有在此数... 使用的数据库为:sybase11 在使用jdbc连接数据库时出现了如下错误:  有在此数据库中发现元数据存取器信息。请按jConnect文档中所述安装所需的表。试图检索元数据信息时出错:java.sql.SQLException:JZOSJA:没有在此数... 请按jConnect文档中所述安装所需的表 . 解决此问题的过程:  1、到附件中下载jconnect5.5.jar 2、解压缩 3、进入sqladv.exe环境。用sa用户。 4、执行解压后的文件下面的sp文件夹中的sql_server.sql.如果是sybase12.5 执行sql_server12.5.sql文件。 ok. 注意在执行的过程中: 使用的是sybsystemprocs数据库,要查看执行的过程是否成功。 如果是因为日志的原因没有成功:先执行以下的命令:dump trun sybsystemprocs with no_log
q39461011 2015-12-23
  • 打赏
  • 举报
回复
引用 1 楼 andkylee 的回复:
没有在此数据库中发现元数据存取器信息。 请按 jConnect 文档中所述安装 所需的表。 提示很明确了吧。
为什么用Java原生JDBC可以连接,使用c3p0数据库连接池连接就有这个问题?他们之间有什么区别吗?求大神解释
  • 打赏
  • 举报
回复
没有在此数据库中发现元数据存取器信息。 请按 jConnect 文档中所述安装 所需的表。 提示很明确了吧。

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧