Discussions
Categories
- 196.7K All Categories
- 2.2K Data
- 234 Big Data Appliance
- 1.9K Data Science
- 449.7K Databases
- 221.5K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 549 MySQL Community Space
- 477 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 532 SQLcl
- 4K SQL Developer Data Modeler
- 186.8K SQL & PL/SQL
- 21.2K SQL Developer
- 295.3K Development
- 17 Developer Projects
- 138 Programming Languages
- 292K Development Tools
- 104 DevOps
- 3.1K QA/Testing
- 645.9K Java
- 27 Java Learning Subscription
- 37K Database Connectivity
- 153 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 17 Java Essentials
- 157 Java 8 Questions
- 85.9K Java Programming
- 79 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.2K Java SE
- 13.8K Java Security
- 203 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 387 LiveLabs
- 37 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.6K Other Languages
- 2.3K Chinese
- 170 Deutsche Oracle Community
- 1K Español
- 1.9K Japanese
- 230 Portuguese
Java Oracle JDBC question: ResultSet.getString removing characters on return?

I've never encountered this specific issue before, but it seems to happen when I call java.sql.ResultSet.getString(String columnName) on a column that represents a CITY name in an address table, if the string contains a "ss", as in the city name "Casselbury", the retrieved string looks like this: "Ca elbury". I don't know if this is a bug in either the Oracle JDBC driver or the Java SQL ResultSet, or if there's some other issue, but I'm at a loss to explain it! Anyone have any suggestions on how I can figure this out and/or correct the issue?
Thanks!
- Dave
Best Answer
-
The issue turned out to be an unescaped regex keyword in the SQL statement (\s{2,} instead of \\s{2,}). Always gets me. Thanks for the assistance!
Answers
-
I've never encountered this specific issue before, but it seems to happen when I call java.sql.ResultSet.getString(String columnName) on a column that represents a CITY name in an address table, if the string contains a "ss", as in the city name "Casselbury", the retrieved string looks like this: "Ca elbury". I don't know if this is a bug in either the Oracle JDBC driver or the Java SQL ResultSet, or if there's some other issue, but I'm at a loss to explain it! Anyone have any suggestions on how I can figure this out and/or correct the issue?
The first thing that comes to mind is a character set difference between the DB character set and the client.
1. Create and post a reproducible test case including the Java code
2. Examine the actual DB characters involved by using the DUMP function on that table and column value (select column_name, DUMP (column_name) from myTable where id = 'abc') for the ONE row in the test case that can produce the problem
3. Post the database character set
4. Post the client/OS character set
5. Post the specifics of the OS, Java, JDBC and DB: names and full versions.
-
The issue turned out to be an unescaped regex keyword in the SQL statement (\s{2,} instead of \\s{2,}). Always gets me. Thanks for the assistance!