草庐IT

java - 在 Oracle DB 上执行 PreparedStatement 插入 Blob 时出现 NullPointerException

有没有人知道我在这里做错了什么?我正在尝试将一个blob(其中包含一个pdf,以防万一)连同一些其他信息一起插入到oracle数据库中。我正在使用PreparedStatement代码:publicvoidsaveReportErgebnis(intreportId,Dateerzeugung,intarchiv,Blobpdf,Stringkommentar)throwsException{ByteArrayOutputStreambos=newByteArrayOutputStream();byte[]tmp=newbyte[(int)pdf.length()];if(kommen

java - Oracle JDBC 7 作为 Maven 依赖项

我正在尝试将OracleJDBC作为Maven依赖项添加到我的项目中。我在网上关注了多个教程,这些教程提出了添加第三方依赖项的各种方法。我选择了本地安装方法,但遇到了类似(thisperson)的问题。我运行以下命令来安装jar:mvninstall:install-file-Dfile={lib/ojdbc7.jar}-DgroupId=com.oracle-DartifactId=ojdbc7-Dversion=12.1.0.1-Dpackaging=jar它成功了:[INFO]---maven-install-plugin:2.3:install-file(default-cli

java - 即使在关闭 session 后,Hibernate 也会在 oracle db 中保持非 Activity session

在我的hibernate应用程序中,我编写了以下用于将EmployeeRegistration对象保存到oracle数据库中的代码。publicIntegersubmitDetails(EmployeeRegistrationes){Sessionsession=factory.openSession();Transactiontx=null;IntegeremployeeID=null;try{tx=session.beginTransaction();employeeID=(Integer)session.save(es);session.flush();tx.commit();}

java - 使用 jdbc 与 oracle 11.2 通信时 ResultSet.next() 挂起

我们有一个使用jdbc与oracle11.2通信的java应用程序。我们正在使用oracle-jdbc-7.jarCreated-By:20.12-b01(SunMicrosystemsInc.)Implementation-Vendor:OracleCorporationImplementation-Title:JDBCImplementation-Version:12.1.0.1.0我们也在使用Statement.setQueryTimeout()但是,每隔几天,与oracle通信的线程就会在执行ResultSet.next()时挂起。代码如下所示:PreparedStatemen

java - 事务回滚后oracle undo sequence会增加吗?

我有一个Spring应用程序,其中Hibernate作为ORM,Oracle数据库作为RDBMS。假设我在数据库中的表名是entity_tbl,entity_seq是我的表的序列。在@Transaction的保存方法中,实体被保存,保存行后,我抛出回滚事务的异常。如下所示,@ServiceclassEntityServiceextendsGenericService{@AutowiredEntityRepositoryrepo;@Transactional@Overridepublicvoidsave(Entityentity){repo.save(entity);if(true)th

java - 将 Types.NVARCHAR 与 oracle JDBC 驱动程序一起使用以处理西里尔字符

我正在尝试使用"NewMethodsforNationalCharacterSetTypeDatainJDK1.6",以获得处理西里尔字符的标准JDBC解决方案,但是当执行到达具有NVARCHAR类型的任何行时,例如:preparedSelect.setObject(3,"суббота",Types.NVARCHAR);然后我得到这个异常:java.sql.SQLException:Invalidcolumntypeatoracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)atoracle

java - Oracle JDBC 类型通过 getObject() 映射到 Java 对象类型 - 错误的文档?

这是文档链接:"MappingSQLandJavaTypes"让我们看看8.9.3JDBC类型映射到Java对象类型在行:TIMESTAMP-java.sql.Timestamp但是当我在TIMESTAMP列上使用getObject()和oracle数据库时,返回类型是oracle.sql.TIMESTAMP,它不能转换为java.sql.Timestamp我知道我可以使用getTimestamp(),但我需要getObject()来处理任何类型的结果集。是文档错了还是我错了? 最佳答案 文档是正确的,OracleJDBC驱动程序有

java - Oracle Java KeyStore 实现是线程安全的吗?

我希望实现一个使用客户端证书身份验证的多线程SSL客户端,因此我需要为SSLContext提供一个KeyStore。我需要在多个线程上执行此操作。使用KeyStore的一个实例是否安全?我不会自己修改keystore,而且我假设SSL实现也不需要,因此该对象应该是有效的不可变的。 最佳答案 一般来说,JCA服务不是线程安全的,KeyStoreSpi不会对实现者强加任何线程安全要求。但是,如果您的key存储实际上是不可变的,并且您确保其初始化状态对所有线程可见,就没有问题。例如,将KeyStore存储在volatile变量中,或从类初

java - Oracle JDK8中的JSSE是否实现了TLS Fallback SCSV?

看起来OpenJDK版本8中的JSSE没有实现RFC7507.OpenJDK错误跟踪器中存在一个开放缺陷:JDK-8061798但是关于OracleJDK的资料不多。OracleJDK版本8是否实现TLS回退信令密码套件值(SCSV)?如果可以,如何启用此功能? 最佳答案 我找不到任何证据表明OracleJDK8支持此功能。JDK-8061798中的RFE之所以没有被执行,似乎是因为这将是一个破坏性的变化。对上面的评论说:AsmentionedintheSSLParameters,thisrequiresanAPIchangefor

java - 挣扎着用spring SimpleJdbcCall调用Oracle函数

我正在努力使用以下代码使其工作,搜索文档和论坛并卡住。最后我决定向你求助。我拥有的是包含TYPES、FUNCTION声明和FUNCTIONBODY声明的包。将来我想对MYPACKAGE使用SYNONYM(这只是模拟-我不会在我的数据库中有包和类型声明,但使用dblink到外部数据库和Java代码来运行过程/函数,但现在我没有此dblink可访问)和MYPACKAGE将可通过dblink访问:createpublicsynonymdblink_MYPACKAGEforSOME_SCHEMA.MYPACKAGE@dblink_externalDB;我将在Java代码中使用dblink_MY