问题标签 [ora-17004]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - ResultSet.getBlob() 异常
编码:
结果:
我的课程路径中有 class12_10g.zip。我用谷歌搜索,基本上只发现了一个关于这个特定问题的网站,而且没有帮助。
有人对此有任何想法吗?
一点背景知识:我们正在将我们的一个数据库从 MySQL 转换为 Oracle。在 MySQL 数据库中,其中一个字段是长文本,在代码中被视为 BLOB。默认情况下,SQL 开发人员工作台将 longtext 转换为 CLOB(对我来说很有意义),但代码需要 Blob。我猜这个错误不是很好:oracle.jdbc.driver.T4CClobAccessor(尽管它确实提到了 Clob)。
当我尝试以下操作时:
它引发了一个不受支持的异常——我首先要做的就是将新创建的 Oracle DB 中的类型与代码所期望的类型进行比较(不幸的是,我只是假设它们会匹配)。
对不起大家!不是我想太多,现在我必须弄清楚为什么最初的开发人员将 BLOB 类型用于 longtext
sql - 如何在 Groovy 中将 PL/SQL to_date 与变量一起使用?
我有以下小型 Groovy 脚本,它只计算数据库中特定日期的行数。
to_date 需要在您传入的日期周围加上单引号。如果我不使用它们,我会得到SQLException: Invalid column type
但如果我将 \' 放在变量周围,我会收到来自 Groovy 的警告
没有 to_date 或以不同方式格式化变量有没有更好的方法?我是 Groovy 的新手,因此欢迎提出任何建议。提前致谢!
oracle - Weblogic 10.3.1 和 Oracle BPM 10.3.1 之间的互操作性
我正在将在 WLS 10.0 上运行的 ALBPM 6.5 迁移到在 WLS 10.3.1 上运行的 Oracle BPM 10.3.1
我在使用 Oracle 驱动程序时遇到了一些问题,因为旧驱动程序 (weblogic.jdbcx.oracle.OracleDataSource) 肯定已从服务器中删除并且不再受支持。相反,我使用了瘦驱动程序(oracle.jdbc.xa.OracleXADataSource),成功执行了数据库迁移,但是之后,当我尝试在 WebLogic 中部署引擎耳朵时,我得到了与驱动程序相关的异常:
我一直在寻找解决方案,但都指向使用旧驱动程序,我认为在 Oracle 完全删除它后强制服务器使用该驱动程序并不是一个好习惯。有什么建议或类似经验吗??
java - 如何在 Hibernate 中使用 Oracle XMLTYPE
其中一列是 Oracle 数据库中的 XMLTYPE 类型。在我的应用程序中,我想保留数据并使用 Hibernate。
我为在休眠中映射 XMLTYPE 做了以下操作
定义实现 UserType 的自定义用户类型
自定义用户类型实现基于博客链接 - http://community.jboss.org/wiki/MappingOracleXmlTypetoDocument
ut 我们没有使用 C3p0 连接池,而是使用 DBCP
在自定义用户类型中创建 XMLType 时遇到问题
其中 st 是传递给方法的preparedStatement。
st.getConnection() 返回的连接对象是 org.apache.commons.dbcp.PoolableConnection 类型
但是 createXML 方法只需要 oracle.jdbc.OracleConnection 类型的连接对象
我也尝试获取 getInnermostDelegate 但这也不起作用。
XMLTYPE 创建方法在包含的 jar xdb.jar 中 - 是否会根据包含的版本进行任何更改?
谢谢
++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
使用以下代码获取 SQLConnection 对象-
现在,错误消息是java.sql.SQLException: Invalid column type
下面是覆盖的方法
现在一无所知...
java - 将 Types.NVARCHAR 与 oracle JDBC 驱动程序一起使用以处理 Cyrillic 字符
我正在尝试使用"New Methods for National Character Set Type Data in JDK 1.6"来获得一个标准的 JDBC解决方案来处理西里尔字符,但是当执行到达任何 NVARCHAR 类型的行时,例如:
然后我得到这个异常:
我也尝试使用 setNString() 但我得到一个更奇怪的异常:
如果我将 java -Doracle.jdbc.defaultNChar=true myApplication 与常规 Types.VARCHAR 一起使用,则俄语单词将正确存储。但是使用 -Doracle.jdbc.defaultNChar=true 不是一个选项,因为我正在处理遗留应用程序,我无法控制运行的生产环境,我只是向它编写一个组件。此外,此“NChar How-to 自述文件”指出“此转换对性能有重大影响”。因此,当我的表中只有不到 1% 的表需要这种转换时,默认情况下将所有内容设置为 NChar,这不是一个明智的选择。
我正在使用 oracle 瘦驱动程序,并且在我的类路径中有 ojdbc6.jar 和 orai18n.jar。
我正在寻找标准的 JDBC 解决方案。我不能在它们上使用任何带有“oracle”的方法或常量。OraclePreparedStatement 不是我的选择。
我尝试将 Types.NVARCHAR 与 MSSQL Server 一起使用,它运行良好。
oracle - 在 JDBC 中调用存储过程时,我可以将自定义对象表作为 OUT 参数返回吗
在 Oracle 11g 中,我有一个这样的存储过程:
在哪里
我正在使用 Spring 的 SimpleJdbcCall 来调用它,但它给了我“无效的列类型”异常。是否可以调用这样的过程并在 JDBC 中读取结果?如果不是,除了返回游标外,还有哪些其他选项可用?
java - 结果集的日期相关方法不起作用
我正在使用 jdk- 1.6,os-redhat 5,驱动程序-class12.jar,(jar 连同 jdk lib)db-Oracle 10i
代码:-
在某些系统中它工作正常,仅在服务器中它抛出以下异常
只有结果集的时间相关功能不起作用............(resultset.getTimestamp(),resultset.getDate())。但是 resultset.getString() 工作正常......
在java论坛中我得到了答案,这是因为JRE时区设置与oracle返回时区设置的差异......它是否正确......或者我该如何解决这个............ ... 请帮我.............
java - Oracle 错误代码 [17004] java.time.Instant 的列类型无效
尝试将实例存储java.time.Instant
到列类型为的 Oracle 表中时出现以下异常TIMESTAMP WITH TIME ZONE
:
SQL 状态 [99999];错误代码 [17004];无效的列类型;嵌套异常是 java.sql.SQLException: Invalid column type] 的根本原因
java.sql.SQLException:无效的列类型
已经尝试过java.time.OffsetDateTime
,java.time.ZonedDateTime
并且所有这些都给出了相同的例外。
请让我知道通过保留时区详细信息可以将哪种类型存储到此列。