【Oracle 10g与Java的连接】教程文章相关的互联网学习教程文章

java – 从Oracle JDK迁移到OpenJDK所需的更改

我们计划将项目从Oracle JDK迁移到OpenJDK.我对此有一些疑问. >经过一些分析后,我发现OpenJDK将每6个月发布一次功能,直到下一个功能发布才支持.它本质上是针对开发人员的连续发布流.现在我的问题是迁移到OpenJDK是个好主意.因为如果上面的陈述是正确的,那么我们需要每6个月在我们的应用程序中升级OpenJDK 参考:Differences between Oracle JDK and OpenJDK>执行此迁移所需的基本更改是什么.当我说基本的变化时,我的意思是我需要在...

java – 如何使用JDBC / Spring调用Oracle存储过程,其中一些参数类型是用户定义的?【代码】

我正在尝试从我的Java程序中调用Oracle存储过程.我正在使用JDBC和Spring的StoredProcedure.一些参数是用户定义的类型,我需要知道如何传递它们. 特别是我应该在参数映射中指定哪种类型(即java.sql.Types.*中的哪一个)?我应该使用什么Java类型?问题类型定义如下:type MyDoubles as varray(50000) of double precision type MyStrings as varray(50000) of varchar2(2000)解决方法:Google中的第一个命中似乎展示了如何绑定VARRAY:...

java – Oracle表格就像一个队列【代码】

我们有一个非常高的并发应用程序,其中一些要处理的密钥不断写入Oracle 11g表及其处理优先级.该表上有一个来自序列的主键(ID字段). KEY字段有一个UNIQUE约束.ID KEY PRIORITY ------------------------- 1 ABC 0 2 XYZ 5 3 AZW 0 ... 100 CNS 7上面的表格以非常高的费率插入,比如说每分钟大约有一万条记录.我们还有大约100个并行消费者,这些消费者不断汇集上表寻找...

java – ORA-00922:在oracle中执行“set long 100000”语句时缺少或无效选项【代码】

我正在开发一个java示例,其中我一个接一个地执行查询以获取indexces的ddl.我的java代码是 – Statement stmt2 = con.createStatement(); ResultSet rs2 =null; String query = "set long 100000"; rs2 =stmt2.execute(query); query = "set longchucksize 100000"; rs2 = stmt2.executeQuery(query); query = "SELECT DBMS_METADATA.GET_DDL('INDEX','SYS_IL0000091971C00001$$','CCEEXPERTS') FROM ...

java – 无法使用jbdc updateRow方法更新Oracle IOT表【代码】

我有一个带有IOT表的Oracle 10gR2数据库:create table countries (id number primary key, name varchar2(30) not null enable ) organization index;我尝试使用此Java(版本1.6)代码更新表值:Statement stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);ResultSet src = stmt.executeQuery("select id, name from countries");src.next();src.updateString("name", "__test__"); src.upda...

java – Oracle SQL插入多行并返回一些东西【代码】

在Oracle中,可以通过执行查询来插入多行INSERT ALLINTO mytable (column1, column2, column3) VALUES ('val1.1', 'val1.2', 'val1.3')INTO mytable (column1, column2, column3) VALUES ('val2.1', 'val2.2', 'val2.3')INTO mytable (column1, column2, column3) VALUES ('val3.1', 'val3.2', 'val3.3') SELECT * FROM dual;并准备好一个声明,像这样做一个插入BEGIN INSERT INTO mytable (column1, column2, column3) VALUES (null...

java – 从Solr DataImportHandler中的Oracle日期获取正确的时间【代码】

我正在尝试使用Solr的DataImportHandler来索引来自Oracle DB的一些文档,除了正确读取Oracle Date列到我的文档中之外,一切正常. 我将Solr模式中的字段定义为<field name="release_date" type="date" indexed="true" stored="true" multiValued="false"/>我首先尝试在DataImportHandler中只对日期列进行基本的select语句,但所有日期都使用不正确的时间值进行索引.例如,2004年1月12日上午09:28(美国东部时间)的数据库中的日期被索引为...

将Java Character对象值插入Oracle CHAR(1)列时出错【代码】

我正在使用Spring jdbcTemplate.update(String sql,Object [] args)在Oracle数据库上执行准备好的insert语句.其中一个对象是包含值“Y”的Character对象,目标列是CHAR(1)类型,但我收到的是java.sql.SQLException: Invalid column type例外. 我已经调试了这个向后和向前,毫无疑问,这是导致问题的一个特定对象.当省略此字符对象时,插入将按预期执行. 我还可以输出sql和Object []值,将sql复制到sql developer中,将值占位符(?s)替换为...

java – 使用oracle.jdbc.driver.OracleConnection的类强制转换异常【代码】

我在下面的代码的第一行得到了Exceptionjava.lang.ClassCastException: oracle.jdbc.internal.OracleConnection$$EnhancerByProxool$$3415e85 cannot be cast to oracle.jdbc.driver.OracleConnection如何将字符串转换为oracle.sql.Clob以及如何使用PreparedStatement插入.// con is java.sql.Connection object oracle.sql.CLOB newClob = oracle.sql.CLOB.createTemporary(con, false, oracle.sql.CLOB.DURATION_SESSION);newClo...

java – Oracle Webcenter Spaces和Internet Explorer 9【代码】

我正在开发一个WebCenter Spaces应用程序,并且在跨浏览器测试过程中发现了一些奇怪的行为: 使用Internet Explorer 8访问该站点时,Spaces非常合理地插入了这个元标记:<meta http-equiv="X-UA-Compatible" content="IE=8.0">使用Internet Explorer 9访问它时,启用了兼容性视图,但是添加了以下标记:<meta http-equiv="X-UA-Compatible" content="IE=7.0">这强制实际使用兼容性视图.要添加侮辱伤害,会弹出一个警告对话框,通知用户必...

java – 如何调用使用Hibernate / JPA返回字符串的Oracle函数?【代码】

我想使用JPA调用Oracle函数.我在这个主题上找到了this thread. 但我的Oracle函数只返回一个字符串.不是某种实体的结果.我试过这样的事情: @NamedNativeQuery(name = "myFuncCall",resultSetMapping = "myResultSetMapping",query = "{ ? = call schema.mypkg.somefunc(:id) }",hints = { @javax.persistence.QueryHint(name = "org.hibernate.callable", value = "true") } )@SqlResultSetMapping(name = "myResultSetMapping",co...

java – 在Oracle ucp中找不到oracle.ucp.jdbc.PoolDataSourceFactory【代码】

我想使用以下代码创建Oracle UCP:import oracle.ucp.jdbc.PoolDataSource; import oracle.ucp.jdbc.PoolDataSourceFactory;System.out.println("***** OracleDS_UCP -> start init of PoolDataSource");PoolDataSource pool = PoolDataSourceFactory.getPoolDataSource();pool.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");pool.setURL("jdbc:oracle:thin:@localhost:1521:XE");pool.setUser("test");poo...

java – Oracle PoolDataSource将数据库游标保持打开直到commit(),这是预期的行为吗?【代码】

除非我调用Connection.commit(),否则数据库游标在查询后仍保持打开状态.我相信这种行为导致我的应用程序泄漏游标并遇到与游标使用相关的数据库错误. 似乎commit()调用应该是不必要的……是否需要这种行为?有没有办法配置JDBC连接池,以便在资源关闭时可靠地释放游标,而无需调用commit? 我正在使用此查询来查找打开的游标: 从v $open_cursor中选择*,其中CURSOR_TYPE =’OPEN’ 如果在关闭语句和ResultSet之后调用commit(),则在sle...

java – 在Oracle DB中唯一标识源JDBC进程

我们正在使用java(Spring和Spring Boot)开发微服务,并且通过JDBC Oracle Driver访问我们的Oracle DB. 问题是我们的DBA只能在Oracle端看到连接了“JDBC瘦客户端”.连接的应用程序没有更好的逻辑表示.没有这样的识别,很难知道哪个微服务可能表现不好.其他非JDBC客户端使用主机名清楚地标识自己. 有没有办法更改标识字符串,以便它代表源应用程序/进程的清晰标识? 注意:我们的系统在使用容器的Cloud Foundry上运行,因此实际上不可能提...

java – 使用jdbc澄清oracle中的游标【代码】

我遇到的情况是我使用的第三方开源产品在Oracle中没有游标并且收到错误:java.sql.SQLException:ORA-01000:超出最大打开游标数 我的最大游标设置为1000,我试图弄清楚达到此限制的代码是否正在执行错误操作,或者我是否只需要增加限制. 经过一些调查后,我在代码中找到了一个创建ResultSet的点,从而使我的打开游标数增加1.但是,该ResultSet在使用后很快就会关闭….但是光标数仍保持原样.我能够在第三方开源项目之外的简单JDBC应用程...