Tag: jdbc

我可以使用相同的JDBC连接,语句和结果集在JDBC中执行两个查询

我正在validation用户 public static boolean login(DataManager dataManager, String userName, String password) { boolean authenticated = false; Connection connection = dataManager.getConnection(); if (connection != null) { try { Statement s = connection.createStatement(); String sql = “query”; try { ResultSet rs = s.executeQuery(sql); try { while (rs.next()) { String group_code = rs.getString(1); String orgaunit = rs.getString(2); authenticated = […]

APPARENT DEADLOCK为未分配的待处理任务创建紧急线程

我正在使用mybatis的mysql,我在我们的实时服务器上问候这个错误 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@6538f8f2 — APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 由于我的C3P0设置,我不明白为什么会出现这个错误? 我的C3P0设置是这样的 —-开始更新—– 下面是我的spring-servlet.xml配置 我将 datasource bean 更新为 从我的Dao类中我称之为mapper方法 myDao.updateRecords() 这是我的服务类方法 @Override public List selectAllUsersDetail(long groupId, List ids) { List usersDetailList = null; try { usersDetailList = userDao.selectAllUsersDetail(groupId, ids); } catch (Exception e) { e.printStackTrace(); } return usersDetailList; } 在Dao类我只是注入映射器。 @Resource private UserMapper […]

如何从JDBC + postgreSql时间戳获取UTC时间戳?

我在PostgreSQL中创建了一个这样的表: create table myTable ( dateAdded timestamp(0) without time zone null default (current_timestamp at time zone ‘UTC’); ) 我选择“没有时区”,因为我知道我的应用程序使用的所有时间戳都是 UTC。 据我所知,“带时间戳”的唯一区别是我可以在其他时区提供值,然后转换为UTC。 但是我想避免这种自动转换,因为如果我知道我的值是UTC,它们几乎不会有任何好处。 当我在测试表中添加新记录并使用pgAdmin查看表的内容时,我可以看到插入日期已经以UTC格式正确保存。 但是,当我尝试使用JDBC选择值时,该值减去2小时。 我位于UTC + 2,所以看起来JDBC假定表中的日期不是UTC时间戳,而是UTC + 2时间戳而是尝试转换为UTC。 一些谷歌搜索透露,JDBC标准规定了与当前时区的转换,但这可以通过向getTimestamp / setTimestamp调用提供Calander来防止。 然而,提供日历并没有任何差别。 这是我的MyBatis / Jodatime转换器: @MappedTypes(DateTime.class) public class DateTimeTypeHandler extends BaseTypeHandler { private static final Calendar UTC_CALENDAR = Calendar.getInstance(DateTimeZone.UTC.toTimeZone()); @Override public void setNonNullParameter(PreparedStatement ps, […]

tomcat 6.0.24exception:无法加载com.mysql.jdbc.SQLError

经常运行centos的tomcat 5服务器(几次/天)会产生以下错误: Apr 7, 2011 11:02:30 PM org.apache.catalina.loader.WebappClassLoader loadClass INFO: Illegal access: this web application instance has been stopped already. Could not load com.mysql.jdbc.SQLError. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no […]

LibreOffice:无法加载’com.mysql.jdbc.driver’

我正在尝试使用JDBC连接将LibreOffice Base与MySQL数据库(在phpMyAdmin中)连接起来。 第一步是选择要选择的数据库: 第二步是选择哪个连接: 第三步是选择你的数据库: 当我按下’Klasse testen’(测试类)时,我收到以下错误:’com.mysql.jdbc.driver无法加载’。 有谁知道如何避免这个错误?

Oracle的JDBC查询超时是如何实现的?

我很好奇Oralce JDBC瘦客户端如何实现查询超时。 这可以通过调用java.sql.Statement的setQueryTimeout(int seconds)方法来设置。 这是在客户端的驱动程序中实现的吗? 是一个新的线程产生并加入? 或者JDBC驱动程序是否只是向Oracle发送参数,然后它会强制执行超时? 达到超时后,客户端和数据库上的哪些资源被释放,哪些存在? 即使客户端放弃了查询还是终止,Oracle是否继续运行查询? 客户端是否还有游标对象? 谢谢

如何确定给定JDBC连接的数据库类型?

我需要处理返回三个数据库(Oracle,sybase,MS-Server)的存储过程/函数的结果集。 程序/function通常是相同的,但在Oracle中调用有点不同。 statement.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR); … statement.execute(); ResultSet rs = (ResultSet)statement.getObject(1); JDBC没有提供处理它的通用方法,因此我需要在代码中区分不同类型的DB。 我给了连接,但不知道确定数据库是否是oracle的最佳方法。 我可以使用驱动程序名称,但宁愿找到更清洁的方式。

JDBC – 如何在预准备语句中设置char

我找不到像这样的方法 char c =’c’; preparedStatement.setChar(1,c); 如何将字符设置为准备好的语句?

使用单个JDBC Statement对象执行多个查询

请在将此标记为重复之前阅读。 我从谷歌和SO搜索了很多,但我无法找到我想要的确切答案。 我的问题:在JDBC中,我可以使用单个Statement对象多次调用executeQuery(“”)吗? 安全吗? 或者我应该在每次查询后关闭语句对象,并创建新对象以执行另一个查询。 例如: Connection con; Statement s; ResultSet rs; ResultSet rs2; try { con = getConnection(); s = con.prepareStatement(); try { rs = s.executeQuery(“…………………..”); // process the result set rs } finally { close(rs); } // I know what to do to rs here // But I am asking, should I close […]

数据库迁移

我正在研究java中的数据库迁移工具。 该工具将数据库表及其数据复制到目标数据库。 但我希望它可以在不同的数据库上工作。 从mysql复制并在derby中创建等。使用JDBC,我们可以收集有关表及其列的足够信息。 但是我要问这个,如果我可以用java免费重新创建java表。 我的意思是不同的数据库有不同的数据类型,有时它们在sql语法上有所不同。 那么JDBC或任何其他库(可以是开源的)可以通过简单而全局的方式完成这项工作吗?