Tag: 数据库连接

Hibernate – 连接被拒绝

我有一些Java / Hibernate代码可以在我安装的数据库的本地机器上正常工作。 但是,我已经在Glassfish服务器上将代码上传到Internet,我无法连接到与该服务器关联的数据库。 我不认为这是一个Java问题。 我认为它与Hibernate设置有关,因为我觉得我必须更改数据库的地址,因为代码不再与我的机器上的数据库通信。 谁能帮助我? 首先,这是服务器日志中的堆栈跟踪。 java.net.ConnectException MESSAGE: Connection refused STACKTRACE: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.(Socket.java:375) at java.net.Socket.(Socket.java:218) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:271) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771) at com.mysql.jdbc.Connection.(Connection.java:1555) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:154) at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110) at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:298) at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:110) […]

具有多个数据源Oracle和H2的Spring Boot

我为我的角项目开发了一个Spring Boot RestController并遇到了问题。 在我的rest服务逻辑中,我使用了两个不同的数据库来获取数据。 在这里您可以看到数据源配置: [application.properties] #datasource1 spring.datasource.url=[url] spring.datasource.username=[username] spring.datasource.password=[password] spring.datasource.driverClassName=org.h2.Driver #datasource2 spring.secondDatasource.url=[url] spring.secondDatasource.username=[username] spring.secondDatasource.password=[password] spring.secondDatasource.driverClassName=oracle.jdbc.OracleDriver [DatasourceConfig.java] @Bean @Primary @ConfigurationProperties(prefix=”spring.datasource”) public DataSource h2DataSource() { return DataSourceBuilder.create().build(); } @Bean @ConfigurationProperties(prefix=”spring.secondDatasource”) public DataSource oracleDataSource() { return DataSourceBuilder.create().build(); } 记录输出:(此问题不会引发exception) … 2016-11-22 13:20:25.853 [INFO ] 1 [main] dbsApplication : Started Application in 7.757 seconds (JVM running for 12.515) […]

HikariPool-1 – 连接不可用,请求超时后

我正在使用HikariCP 2.4.7连接池。 在启动应用程序之后一切都很好但是在一段时间之后没有调用getConnection()我在尝试getConnection()时遇到了这个错误: java.sql.SQLTransientConnectionException: HikariPool-1 – Connection is not available, request timed out after 42734ms. at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:555) at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:188) at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:147) at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:99) at pl.airly.database.ComplexOperations.getSensorDataFromArea(ComplexOperations.java:310) at pl.airly.database.ComplexOperations.getMeasurementsInAreaWithinTimeFrame(ComplexOperations.java:201) at pl.airly.ResponseGenerator.getResponseAdequateToRequest(ResponseGenerator.java:139) at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) at […]

在java Web应用程序中存储数据库字符串连接的位置?

我即将用java开始我的第一个项目 让我告诉我以前如何处理这些事情…… 到目前为止,我一直在使用VB6编写的com + componente来处理asp。 该组件通过com +管理控制台与域用户注册,其中包括lile my_company_domain \ my_app_account 组件从udl文件读取配置,配置为访问具有集成安全性的DB。 我使用server.createobject从asp调用组件,组件使用指定的域帐户运行,因此每个数据库访问都使用此帐户运行… 我喜欢这种方法的有以下几点: 使用集成安全性 – 没有sql用户 无需重新编译任何内容来更改db(编辑udl文件)或域帐户(编辑com +组件配置) 池连接(因为我总是使用相同的连接字符串) 生产人员可以在不将帐户密码留在文本文件上的情况下更改配置 … 那么,在java上实现这样的东西最好的方法是什么? 我已经看到了一些关于Commons-DBCP的东西,是否可以使用集成安全性? 非常感谢… – 添加回应评论 通过集成安全性我的意思是我只需要配置域帐户,就是这样,我不使用sql server帐户,只使用运行VB6 com +组件的帐户。 好吧,也许这不是合适的术语,但我希望你能得到这个想法……

Java Access数据库连接

我尝试创建与db(MS Access 2010)连接的项目我在CodeProject上使用本教程。 import java.sql.*; public class DbAccess { public static void main(String[] args) { try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); String database = “jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=myDB.mdb;”; Connection conn = DriverManager.getConnection(database, “”, “”); Statement s = conn.createStatement(); // create a table String tableName = “myTable” + String.valueOf((int)(Math.random() * 1000.0)); String createTable = “CREATE TABLE ” + tableName […]

如何使用java获取MariaDB连接?

我在mysql服务器上工作并成功连接了我的java应用程序。 现在我改为MariaDB。 如何使用java连接MariaDB服务器? 这应该如何改变? public class DBConnection { private Connection connection; private static DBConnection dBConnection; public DBConnection() throws ClassNotFoundException, SQLException { Class.forName(“com.mysql.jdbc.Driver”); connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/db”, “root”, “mysql”); } public static DBConnection getDBConnection() throws ClassNotFoundException, SQLException { if (dBConnection == null) { dBConnection = new DBConnection(); } return dBConnection; } public Connection getConnection() { return connection; […]

数据库连接和OutOfMemoryError:Java堆空间

去年夏天,我创建了一个Java应用程序,它可以解析一些PDF文件并获取它们包含的信息,以便将它们存储在SQLite数据库中。 一切都很好,我每周都会不断添加新文件到数据库,没有任何问题。 现在,我正在努力提高我的应用程序的速度,我想看看如果我解析过去两年在新数据库中拥有的所有文件,它会如何。 那是我开始收到此错误的时候: OutOfMemoryError:Java堆空间 。 我以前没有得到它,因为我每周只解析大约25个新文件,但似乎一个接一个地解析1000多个文件要求更高。 我部分地解决了这个问题:我确保在每次调用数据库后关闭我的连接并且错误消失了,但代价很高。 解析文件现在难以忍受。 至于我的ResultSet和Statements / PreparedStatements,我已经在每次通话后关闭它们。 我想当我应该关闭我的连接以及何时应该继续使用相同的连接时,我有些不明白的事情。 我认为自从自动提交打开后,它会在每个事务(选择,更新,插入等)之后提交,并且连接会释放它正在使用的额外内存。 我可能错了,因为当我解析太多文件时,我最终得到了我提到的错误。 一个简单的解决方案是在每次x调用后关闭它,但是我再也不会理解为什么,我可能会在以后遇到相同的错误。 任何人都可以解释我什么时候应该关闭我的联系(如果完成的话除外) 如果我只是在我完成时应该这样做,那么有人可以解释我应该如何避免这个错误吗? 顺便说一下,我没有把它标记为SQLite,因为当我尝试在我的在线MySQL数据库上运行我的程序时遇到了同样的错误。 编辑正如Deco和Mavrav所指出的那样,问题可能不是我的连接。 也许这是文件,所以我将发布用于调用函数的代码逐个解析文件: public static void visitAllDirsAndFiles(File dir){ if (dir.isDirectory()){ String[] children = dir.list(); for (int i = 0; i < children.length; i++){ visitAllDirsAndFiles(new File(dir, children[i])); } } else{ try{ // System.out.println("File: " + dir); BowlingFilesReader.readFile(dir, playersDatabase); […]

DBCP连接池connection.close()是否返回到池的连接

如果我们执行getConnection(),则使用DBCP中的BasicDataSource,在finally块中我们关闭连接,它确实会返回到池的连接或者关闭连接。 我正在检查的代码片段就是这个 try { Connection conn1 = getJdbcTemplate().getDataSource() .getConnection(); //Some code to call stored proc } catch (SQLException sqlEx) { throw sqlEx; } finally { try { if (conn != null) { conn.close(); } } catch (SQLException ex1) { throw ex1; } } 我正在检查BasicDataSource的源代码,我到达了这个连接的包装类。 private class PoolGuardConnectionWrapper extends DelegatingConnection { private Connection delegate; PoolGuardConnectionWrapper(Connection delegate) […]

如何在启动时预初始化DBCP连接池?

我的项目设置是 – Spring JDBC用于持久化 Apache DBCP 1.4用于连接池 Linux上的Mysql 5 这是我的应用程序的日志,它捕获与数据库的交互。 2013-01-29 15:52:21,549 DEBUG http-bio-8080-exec-3 org.springframework.jdbc.core.JdbcTemplate – Executing SQL query [SELECT id from emp] 2013-01-29 15:52:21,558 DEBUG http-bio-8080-exec-3 org.springframework.jdbc.datasource.DataSourceUtils – Fetching JDBC Connection from DataSource 2013-01-29 15:52:31,878 INFO http-bio-8080-exec-3 jdbc.connection – 1. Connection opened org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) 2013-01-29 15:52:31,878 DEBUG http-bio-8080-exec-3 jdbc.connection – open connections: 1 (1) 2013-01-29 […]

Jetty 7 + MySQL Config

我一直在尝试为Jetty配置一个c3p0数据库连接池,但我一直得到一个ClassNotFoundException: 2010-03-14 19:32:12.028:WARN::Failed startup of context WebAppContext@fccada@fccada/phpMyAdmin,file:/usr/local/jetty/webapps/phpMyAdmin/,file:/usr/local/jetty/webapps/phpMyAdmin/ java.lang.ClassNotFoundException: org.mortbay.jetty.webapp.WebAppContext at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:313) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:266) at org.eclipse.jetty.util.Loader.loadClass(Loader.java:90) at org.eclipse.jetty.xml.XmlConfiguration.nodeClass(XmlConfiguration.java:224) at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:187) at org.eclipse.jetty.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:77) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:975) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:586) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:349) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:162) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92) at org.eclipse.jetty.server.Server.doStart(Server.java:228) at […]