JDBC(Java DataBase Connectivity)是基本API,它通过使用Java编程语言执行SQL语句来实现与SQL数据库服务器的交互。
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: 连接关闭后不允许进行任何操作。连接是 由于潜在的异常/错误而隐式关闭: 这个ex...
我运行了这个查询,但过了一会儿,我得到了 Closed Resultset 错误。我确定查询正在数据库中运行(我已经检查了 oracle 端)。 public static void migrateMessagesToElastic(长
SQL 查询在 Access 中有效,但在 R 中使用 RJDBC 包无效
我整天都在试图解决这个问题.. 我有一个 Access 数据库,我想使用 JDBC 连接从 R 更新一些数据。 如果我从 SQL Q 执行它,UPDATE 查询将完美运行...
Spring注入dataSource(static field)到servlet类,但是servlet读取null
我使用嵌入式tomcat。 在主要方法中,我创建了 Spring Annotion Context。 在主类中创建了一个返回数据源的静态方法。 在 servlet 类中使用注解 @Autowired 设置方法 ...
这是否正确实现了:事务、DBCP 和嵌套的 try-with-resources?
我只是想知道这是否是所有内容的良好实施? 我已经实现了多线程系统,所以每个线程都有自己的连接。 这是更多上下文的代码: 包道;
在尝试使用 JavaFX/OpenJFX 应用程序时,我想使用 H2 数据库引擎。 第一步是访问 org.h2.jdbcx.JdbcDataSource 类。我在其他非 JavaFX 应用程序中这样做过无数次。 ...
IBM Db2 Python驱动是否支持JDBC批处理功能?
我想编写一个 Flask API 来执行从我的进程到数据库的批处理工作负载。我可以用 Java 来做。我正在寻找相当于 PreparedStatement.addBatch(), PreparedStatement.
无法使用 JMeter 连接到启用 SSL 的 Oracle DB
我正在尝试使用 JMeter 连接支持 SSL 的 Oracle DB。以下是我遵循的步骤。 将客户端证书转换为 .JKS 格式并将其放置 JMeter bin 文件夹中的 .JKS 设置 b...
是否可以在 spring boot 中关闭与 JDBC 的连接?
我是一个最近接触Java和Spring-boot frameWork的男生; 为了执行简单的数据库查询,我使用了 namedParameterJdbcTemplate。以及他的各种方法比如.query,.
在 Azure Databricks jdbc 连接中转义密码
我正在尝试通过 azure databricks 中的小部件传递一个密码,其中有很多标点符号。这个过程是从 Azure 数据工厂调用的,它似乎正在传递变量......
我想报告一个我觉得很奇怪的配置问题。 这是我正在使用的应用程序上下文配置文件 我想报告一个我觉得很奇怪的配置问题。 这是我正在使用的应用程序上下文配置文件 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <context:annotation-config/> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:jdbc.properties</value> </list> </property> </bean> <bean id="processingStratagyContainer" class="ru.rt.mnp.translator.converter.process.ProcessingStratagyContainer"> <property name="fileProcessingStratagyMap"> <map> <entry key="Port_Increment" value-ref="portIncrementProcessingStratagy"/> <entry key="Return_Increment" value-ref="returnIncrementProcessingStratagy"/> <entry key="Port_All" value-ref="portAllProcessingStratagy"/> </map> </property> </bean> <!--�������� ������������������ ������������������ ������������--> <bean id="portIncrementProcessingStratagy" class="ru.rt.mnp.translator.converter.process.PortIncrementProcessingStratagy"> <property name="rowSizeColumnPosition" value="11"/> <property name="columnBindings"> <map> <!--first has index 0--> <entry key="1" value="number[java.lang.String]"/> <entry key="5" value="old_route[java.lang.String]"/> <entry key="6" value="new_route[java.lang.String]"/> <entry key="9" value="region_code[java.lang.String]"/> <entry key="10" value="port_date[java.util.Date]{yyyy-MM-dd'T'HH:mm:ssXXX}"/> </map> </property> </bean> <bean id="returnIncrementProcessingStratagy" class="ru.rt.mnp.translator.converter.process.ReturnIncrementProcessingStratagy"> <property name="rowSizeColumnPosition" value="9"/> <property name="columnBindings"> <map> <!--first has index 0--> <entry key="1" value="number[java.lang.String]"/> <entry key="5" value="old_route[java.lang.String]"/> <entry key="6" value="new_route[java.lang.String]"/> <entry key="7" value="region_code[java.lang.String]"/> <entry key="8" value="port_date[java.util.Date]{yyyy-MM-dd'T'HH:mm:ssXXX}"/> </map> </property> </bean> <bean id="portAllProcessingStratagy" class="ru.rt.mnp.translator.converter.process.PortAllProcessingStratagy"> <property name="rowSizeColumnPosition" value="6"/> <property name="columnBindings"> <map> <!--first has index 0--> <entry key="0" value="number[java.lang.String]"/> <entry key="3" value="new_route[java.lang.String]"/> <entry key="4" value="region_code[java.lang.String]"/> <entry key="5" value="port_date[java.util.Date]{yyyy-MM-dd'T'HH:mm:ssXXX}"/> </map> </property> </bean> <bean id="postProcessingStratagyContainer" class="ru.rt.mnp.translator.converter.postprocess.PostProcessingStratagyContainer"> <property name="postProcessingStratagableMap"> <map> <entry key="Port_Increment" value-ref="mnpTrfPartPostProcessingStratagy"/> <entry key="Return_Increment" value-ref="mnpTrfPartPostProcessingStratagy"/> <entry key="Port_All" value-ref="mnpTrfFullPostProcessingStratagy"/> <entry key="IncrementCounter" value-ref="incrementCounterPostProcessingStratagy"/> <entry key="HistoryRequestFull" value-ref="historyRequestFullPostProcessingStratagy"/> <entry key="HistoryRequestPart" value-ref="historyRequestPartPostProcessingStratagy"/> </map> </property> </bean> <bean id="mnpTrfPartPostProcessingStratagy" class="ru.rt.mnp.translator.converter.postprocess.MnpTrfPartPostProcessingStratagy" > <property name="placeInPostProcessingChain" value="1"/> </bean> <bean id="mnpTrfFullPostProcessingStratagy" class="ru.rt.mnp.translator.converter.postprocess.MnpTrfFullPostProcessingStratagy" > <property name="placeInPostProcessingChain" value="2"/> </bean> <bean id="incrementCounterPostProcessingStratagy" class="ru.rt.mnp.translator.converter.postprocess.IncrementCounterPostProcessingStratagy" > <property name="placeInPostProcessingChain" value="9"/> </bean> <bean id="historyRequestFullPostProcessingStratagy" class="ru.rt.mnp.translator.converter.postprocess.HistoryRequestFullPostProcessingStratagy" > <property name="placeInPostProcessingChain" value="4"/> </bean> <bean id="historyRequestPartPostProcessingStratagy" class="ru.rt.mnp.translator.converter.postprocess.HistoryRequestPartPostProcessingStratagy"> <property name="placeInPostProcessingChain" value="3"/> </bean> <bean id="convertTask" class="ru.rt.mnp.translator.converter.job.ConvertTask"/> <bean id="testTask" class="ru.rt.mnp.translator.converter.job.TestTask"/> <bean id="historyRequestTask" class="ru.rt.mnp.translator.converter.job.HistoryRequestTask"/> **<bean id="dataSource" class="org.springframework.jdbc.datasource.SingleConnectionDataSource"> <property name="driverClassName" value="org.postgresql.Driver"/> <property name="url" value="${url}"/> <property name="username" value="****"/> <property name="password" value="****"/> </bean>** <tx:annotation-driven transaction-manager="transactionManager"/> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <bean id="mnpHistoryDao" class="ru.rt.mnp.translator.converter.storage.MnpHistoryDao"> <property name="jdbcTemplate" ref="jdbcTemplate"/> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <constructor-arg name="dataSource" ref="dataSource"/> </bean> <!-- specifing class and method that is going to be called on a specified time basis --> <bean id="convertJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="convertTask"/> <property name="targetMethod" value="execute"/> </bean> <bean id="convertTestJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="testTask"/> <property name="targetMethod" value="execute"/> </bean> <bean id="historyRequestJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="historyRequestTask"/> <property name="targetMethod" value="execute"/> </bean> <!-- simple trigger specify repeat interval and delay time --> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="convertJob"/> <!--<property name="cronExpression" value="0 5 0,2,4,6,8,10,12,14,16,18,20,22 ? * *"/>--> <property name="cronExpression" value="0 15,45 * ? * *"/> <property name="startDelay" value="1000"/> </bean> <bean id="cronTestTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="convertTestJob"/> <property name="cronExpression" value="0 0/10 * ? * *"/> <property name="startDelay" value="1000"/> </bean> <bean id="cronHistoryRequestTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="historyRequestJob"/> <property name="cronExpression" value="0/10 * * ? * *"/> <property name="startDelay" value="1000"/> </bean> <!-- scheduler factory bean to bind,the executing code and time intervals together --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="configLocation" value="classpath:quartz.properties"/> <property name="jobDetails"> <list> <ref bean="convertJob"/> <ref bean="convertTestJob"/> <ref bean="historyRequestJob"/> </list> </property> <property name="triggers"> <list> <ref bean="cronTrigger"/> <ref bean="cronTestTrigger"/> <ref bean="cronHistoryRequestTrigger"/> </list> </property> </bean> 但是当运行转换动作时,我有这个错误: 处理文件 /***.zip 的问题 org.springframework.transaction.CannotCreateTransactionException: 无法打开事务的 JDBC 连接;嵌套异常是 java.sql.SQLException:连接已关闭 单一连接数据源。检查用户代码检查 shouldClose() 在关闭连接之前,或将“suppressClose”设置为“true” 在 org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:241) 在 org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:372) 在 org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:417) 在 org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction (TransactionAspectSupport.java:255) 在 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 在 org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) 在 com.sun.proxy.$Proxy5.processFile(未知来源) 在 ru.rt.mnp.translator.converter.job.ConvertTask.execute(ConvertTask.java:69) 在 sun.reflect.GeneratedMethodAccessor12.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:497) 在 org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273) 在 org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:311) 在 org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:113) 在 org.quartz.core.JobRunShell.run(JobRunShell.java:207) 在 org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560) 引起:java.sql.SQLException:连接已关闭 单一连接数据源。检查用户代码检查 shouldClose() 在关闭连接之前,或将“suppressClose”设置为“true” 在 org.springframework.jdbc.datasource.SingleConnectionDataSource.getConnection(SingleConnectionDataSource.java:189) 在 org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:203) 谁能给我解释一下这是什么问题? 我应该怎么做才能解决这个问题? 谢谢! 我不得不在使用 SpringBoot 的 Web 应用程序中使用 SingleConnectionDataSource。我们还为所有数据库事务使用了一个 ORM 包,即使将 suppressClose 配置为 true,我也遇到了同样的问题。在第一次登录时它工作正常,但是当连接长时间处于空闲状态时,就会出现以下错误。 错误是 java.sql.SQLException: Connection was closed in SingleConnectionDataSource. Check that user code checks shouldClose() before closing Connections, or set 'suppressClose' to 'true' at org.springframework.jdbc.datasource.SingleConnectionDataSource.getConnection(SingleConnectionDataSource.java:167) 最后将数据源配置为会话范围的对象解决了它。之前是单例,重新配置到会话范围解决了这个问题。 <bean id="dataSource" class="org.springframework.jdbc.datasource.SingleConnectionDataSource" scope="session">
Apache TomCat 10.1 在运行这个小项目时返回 404
Servlet 包com.crud.app; 导入java.io.IOException; 导入 java.sql.SQLException; 导入java.util.List; 导入 javax.servlet.RequestDispatcher; 导入 javax.servlet.ServletException; 进口
在使用 JDBC 时,我被困在 SqlSyntaxErrorExpception at alter query。谁能给我建议?
实际上,我通过在 JDBC 中创建一个 alterTable() 函数并在 main 方法中调用该方法来使用 Alter 命令。我正在使用的查询是“alter table userReg modify column DOB date”...
我正在开发一个数据库导入工具。我正在通过设置 JDBC 提取大小从 Postgres 数据库读取数据。请注意,出于测试目的,我已将其设置为 1。我正在使用这段代码来读取...
AWS EFS 上的 SQLite 只读数据库:并发读取速度慢
我在 EFS 上获得了一个只读的 sqlite 文件,Lambdas 使用以下配置同时访问该文件: 最终 SQLiteConfig 配置 = new SQLiteConfig(); 配置.setReadOnly(true); 配置.setSynchro ...
无法建立到 jdbc:oracle:thin:@localhost:1521:XE 的连接
我正在尝试设置 JDBC 驱动程序并连接到 NetBeans 中的数据库。在新连接向导中,我填写了以下信息: 我一直收到错误 无法建立连接...
创建名为“springSecurityFilterChain”的 bean 时出错位置:22
我正在尝试进行第一次防御。但是我马上就遇到了错误。我已经在数据库中创建了所有的表和字段,所以这个错误与名称的拼写错误无关。
从 jsp 网页获取数据作为字符串类型后,我应该如何将数据作为日期类型插入到 oracle 中?
我正在使用 jsp、servlet、java、oracle 构建网站。 我会在用户注册时询问他们的生日。 我在 Oracle 的 MEMBER 表中将 BIRTHDATE 列作为日期类型。 我正在使用 jsp、servlet、java、oracle 构建网站。 我会在用户注册时询问他们的生日。 我在 Oracle 的 MEMBER 表中将 BIRTHDATE 列作为日期类型。 <div id="birthDateArea"> <label for= "birthDate">birthDate</label> <p><input type="text" class="form-control" id="birthDateInput" placeholder="ex)20020604" name="memBirthDate" required></p> </div>*** 当用户输入他们的生日,如“19990715”时,我想将它插入到 oracle 的表中。 所以我想在 servlet 上像这样获取用户的生日。 String memBirthDate = request.getParameter("memBirthDate"); 并使用下面的查询将其插入到 oracle 中。 <entry key="insertMember"> INSERT INTO MEMBER ( MEM_BIRTHDATE ) VALUES ( (TO_DATE)? ) </entry> 但是没用。我认为我的 oracle 查询中存在一些问题,但我不确定。 我该怎么办? 我试过这样得到生日 Date memBirthdate = request.getParameter("memBirthDate"); 但是它导致了很多错误,所以我放弃了使用 Date 类型。 避免遗留课程 切勿使用任何一个 Date 类。两者都是多年前被 JSR 310 中定义的现代 java.time 类所取代的可怕的日期时间遗留类的一部分。 LocalDate 对于仅限日期的值,请使用 LocalDate 类。 您的输入字符串符合 ISO 8601 标准格式 YYYYMMDD 的“基本”变体。所以使用预定义的格式化程序,DateTimeFormatter.BASIC_ISO_DATE. String input = "19990715" ; LocalDate birthDate = LocalDate.parse( input , DateTimeFormatter.BASIC_ISO_DATE ) ; 像下面这样写你的SQL。 提示:在所有数据库命名中使用尾随下划线以避免与保留关键字冲突。 SQL 标准明确承诺永远不会使用尾随下划线。请参阅我的这个答案。 另一个提示:为您的嵌入式 SQL 代码使用 文本块。 String sql = """ INSERT INTO member_ ( id_ , birth_date_ ) VALUES ( ? , ? ) ; """; 交换 LocalDate 对象以写入数据库。 myPreparedStatement.setObject( 2 , birthDate ) ; 从数据库中检索数据值时。 LocalDate birthDate = myResultSet.getObject( … , LocalDate.class ) ; 所有这些都在 Stack Overflow 上多次介绍过。搜索以了解更多信息。您将找到创建表格、插入行和检索行的示例应用程序的完整源代码。
我们可以将 Oracle RECORD TYPE 与 java Callable 语句集成吗?
RECORD类型真的不兼容JDBC吗?正在使用的驱动程序是 OJDBC6.jar Java代码: dbStrategy.openConnection(); WrappedConnectionJDK6 wrapped = (WrappedConnectionJDK6)
我正在尝试使用普通的旧 JDBC 运行查询。 如何修复此 checkmarx 错误? queryMap.properties qryKey9908=select coulm1,coulm2... from table join table2 on..... //没有where传导 qryKey...