java 使用 oracle的nvarchar2类型 字符串,java – 使用带有oracle JDBC驱动程序的Types.NVARCHAR来处理Cyrillic字符...
我正在尝试使用
“New Methods for National Character Set Type Data in JDK 1.6”来获得标准的JDBC解决方案来处理西里尔字符,但是当执行到达任何具有NVARCHAR类型的行时,例如:
preparedSelect.setObject(3, "суббота", Types.NVARCHAR);
然后我得到这个例外:
java.sql.SQLException: Invalid column type
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:269)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:490)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:7922)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7502)
at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:7975)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:222)
我也尝试使用setNString(),但我得到一个更奇怪的例外:
java.lang.AbstractMethodError: oracle.jdbc.driver.OraclePreparedStatementWrapper.setNString(ILjava/lang/String;)V
如果我使用带有常规Types.VARCHAR的java -Doracle.jdbc.defaultNChar = true myApplication,则会正确存储俄语单词.但是使用-Doracle.jdbc.defaultNChar = true不是一个选项,因为我正在处理遗留应用程序,我无法控制运行生产环境,我只是在编写一个组件.此外,“Readme for NChar How-to”还指出“此转换对性能产生重大影响”.因此,默认情况下,只有少于1%的表需要进行此转换而不是智能选择时,将所有内容设置为NChar.
我正在使用oracle瘦驱动程序,我的classpath中有ojdbc6.jar和orai18n.jar.
我正在寻找标准的JDBC解决方案.我不能在它们上使用任何带有“oracle”的方法或常量. OraclePreparedStatement对我来说不是一个选项.
我尝试使用Types.NVARCHAR与MSSQL Server,它运行正常.
java 使用 oracle的nvarchar2类型 字符串,java – 使用带有oracle JDBC驱动程序的Types.NVARCHAR来处理Cyrillic字符...相关推荐
- oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化
以下是对Java中的日期对象与Oracle中的日期之间的区别与联系做点说明,以期对大家有所帮助. new Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),就是系统当 ...
- java中常见数据库字段类型与java.sql.Types的对应
转自:http://blog.csdn.net/hbzyaxiu520/article/details/5457225 常见数据库字段类型与java.sql.Types的对应 Oracle与java. ...
- [Java]从键盘输入一行英文字符串,把所有小写字母变成大写字母,其他字母和字符保持不变。
从键盘输入一行英文字符串,把所有小写字母变成大写字母,其他字母和字符保持不变. [问题描述] 从键盘输入一行英文字符串,把所有小写字母变成大写字母,其他字母和字符保持不变. [输入形式] 输入一行字符 ...
- Java使用正则表达式去掉小数类型字符串多余的.与0
/*** 使用java正则表达式去掉多余的.与0** @param str 小数类型的字符串* @return 去掉小数点或多余的0*/ public static String subZeroAnd ...
- oracle的clob类型对应java,java对oracle9i中CLOB类型的操作
这是一个完整的使用java对oracle9i的操作,其实,使用oracle10g后,操作将非常方便,但现在由于仍在使用oracle9i,所以不得不忍受这种痛苦.现将对oracle9i中CLOB类型的操 ...
- Java后台调用Flex自定义类型 (Java和AS类型转换问题)
最近在做一个基于Red5的流媒体交互平台,实现音频,视频,文本的交互.遇到一个问题,封装的类型要能进行转换,或许第一想到的是BlazeDS实现数据的转换,这里不是实现前台代用后台,是后台处理前台的实体 ...
- java如何将日期转化成字符串,Java将日期转换为字符串
本文概述 我们可以使用java.text.DateFormat类的format()方法在Java中将Date转换为String. DateFormat的format()方法 DateFormat类的f ...
- java从指定文件中删除字符串,java删除指定目录中的文件或文件夹
java删除指定目录中的文件或文件夹 package tf; import java.io.File; public class DelFile { public static void main(S ...
- Oracle笔记-Timestamp类型的插入及获取(JDBC获取)
这个其实是个很基础的知识点.本人在项目中用到了这个.在此记录下,方便以后查阅! 首先是SQL语句插入: 比如要插入如下格式的数据2020-11-16 16:09:12到timestamp中,这里要忽略 ...
最新文章
- ruby Encoding
- 国际顶级学术会议CIKM2019北京开幕在即,重量级嘉宾带你窥探人工智能前沿
- Sprint Application bootstrap的研究和调试
- NYOJ--927--dfs--The partial sum problem
- MetaTransformer:简单到尴尬的视觉模型
- 学fpga(流水灯)
- python路线图_Python路线图
- 关于这个blog使用的问题?
- Linux C/C++UDP通信实现
- 如何修改Windows(可移植)桌面文件夹图标
- 有什么软件可以免费下载歌曲?99%不知道这3款软件!
- 火车采集器采集ajax,火车头采集器JavaScript之ajax网站采集实例教程
- 云台山风景美如画,四大网红打卡景点等你来!
- 2022非常全的接口测试面试题及参考答案-软件测试工程师没有碰到算我输~
- 实现Windows下Qt扫描U盘的两种方式
- Bootstrap中jumbotron属性
- update多表联合更新
- 计算机控制算法差分方程,最优控制算法
- MWCA2019美国移动通讯大会
- 使用cxf发布webservice接口,以及调用webservice接口