• Introducing Dark Mode! Switch by clicking on the lightbulb icon next to Search or by clicking on Default style at the bottom left of the page!

"SQL Column Name" Different for F4095.FA@RT Between IBM DB2 & Oracle 12c

Tartan1

Member
"SQL Column Name" Different for F4095.FA@RT Between IBM DB2 & Oracle 12c

We are moving from JDE 8.12 on the AS/400 DB2, to Oracle 12C and upgrading to 9.2.

We did a full database copy of JDE 8.12 back in June, 2016, to Oracle 12C. We have retained a copy of that dataset in 8.12 format.

We are now testing doing a capture of the deltas between June and now, and appending them to a copy of that 8.12 dataset that we captured in June.

We came upon an error when the job that was writing the deltas to the destination tables, failed on the F4096 because a database field name was different between DB2 and Oracle.

I have attached the screen shots to illustrate.

In short, the alias is the same on both platforms, @RT.

However, when I run SQL statements over that table in 8.12, and Oracle, the "SQL Column Names" are different.

On 8.12 from DB2 it is FA@rt which is the same as the alias.

On Oracle, it is FA_1RT. The alias is still FA@RT.

We're just trying to confirm if this is correct on Oracle, as we are not sure how it even came to be changed.

Any input is greatly appreciated!
 

Attachments

altquark

Legendary Poster
Exactly why you should have used EnterpriseOne to perform the copy from iSeries to Oracle, and not some third party product. This is a frequent issue that arises.

My suggestion is for you to backup the table, re-generate the table using OMW and then use an insert into statement to get the data from the bad table into the good one.
 

Larry_Jones

Legendary Poster
From Oracle's website:

"5.Nonquoted identifiers must begin with an alphabetic character from your database character set. Quoted identifiers can begin with any character.
6.Nonquoted identifiers can contain only alphanumeric characters from your database character set and the underscore (_), dollar sign ($), and pound sign (#). "

In order for FA@RT to be valid in PL SQL it would have to be quoted as "FA@RT" in usage.
Oracle must have changed the name to conform. FYI it's FA_1RT in our Oracle database.
 
Top