abhi
abhi

Reputation: 3136

ORA-12704: Unable to convert character data

I am trying to perform SET operations in Oracle across remote databases. I am using the MINUS operator.

My query looks something like this.

SELECT NAME FROM localdb MINUS SELECT NAME from remotedb@dblink

This is throwing up a ORA-12704 error. I understand this warrants some kind of conversion or a NLS Setting.

What should I try next?

Upvotes: 3

Views: 3496

Answers (2)

Dave Costa
Dave Costa

Reputation: 48131

The two name columns are stored in different characters sets. This could be because of their type definitions, or it could be because the two databases are using different character sets.

You might be able to get around this by explicitly converting the field from the remote database to the character set of the local one. Try this:

SELECT NAME FROM localdb MINUS SELECT TO_CHAR(NAME) from remotedb@dblink

Upvotes: 1

guigui42
guigui42

Reputation: 2500

It seams the types of NAME column in those 2 tables are different.

Make sure the NAME column in the remotedb table is exactly the same type as the NAME in localdb table. It is mandatory when you use a MINUS operator.

Upvotes: 0

Related Questions