- 382.6K All Categories
- 2.1K Data
- 212 Big Data Appliance
- 1.9K Data Science
- 448.4K Databases
- 221.1K General Database Discussions
- 25 Multilingual Engine
- 541 MySQL Community Space
- 469 NoSQL Database
- 7.8K Oracle Database Express Edition (XE)
- 2.9K ORDS, SODA & JSON in the Database
- 499 SQLcl
- 3.9K SQL Developer Data Modeler
- 186.3K SQL & PL/SQL
- 21.1K SQL Developer
- 293.8K Development
- 8 Developer Projects
- 129 Programming Languages
- 290.5K Development Tools
- 96 DevOps
- 3K QA/Testing
- 645.6K Java
- 24 Java Learning Subscription
- 36.9K Database Connectivity
- 151 Java Community Process
- 104 Java 25
- 22.1K Java APIs
- 137.9K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 17 Java Essentials
- 146 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
- 200 Java User Groups
- 291 LiveLabs
- 36 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.8K Other Languages
- 2.3K Chinese
- 168 Deutsche Oracle Community
- 1.2K Español
- 1.9K Japanese
- 234 Portuguese
cx_Oracle (6.1), django(1.11.7) with Oracle 12cr2 and table / column name lengths greater than 30 by
I am trying to figure out if cx_Oracle 6.1 has support for table names and column names being longer than 30 characters. We are migrating to Oracle from another database which supported longer identifiers so we have quite a few of these identifiers.
Oracle 12cr2 now supports this so I am able to migrate all the data without having to change identifier names.
However when I try and access the data ( django 1.11.7 and cx_oracle), I end up getting an error:
django.db.utils.DatabaseError: ORA-00904: "TABLE_NAME"."COLUMN_NAME_LONGER_THAN_TH403B": invalid identifier
The actual column name for e.g. could be COLUMN_NAME_LONGER_THAN_THIRTY_BYTES
Note - This is a made up example so the mangling scheme used for the column if this was a real example might be different.
But basically, I see that the column name is shortened to 30 characters with some kind of a mangling scheme. The database obviously throws the invalid identifier error.
Is there some cx_Oracle connection parameter / setting I could be using or some environment variable etc that can resolve this?
Or is this something I need to wait for a higher release of cx_Oracle?
I checked within django quite a bit but I dont think this is happening inside of django which is why I am asking this question in this forum.
Yes, I do have the option of renaming the tables and columns but given that 12cr2 officially supports this I am trying to avoid having to change application code.
Thanks & Regards