ORA-12704: невозможно преобразовать символьные данные - PullRequest
3 голосов
/ 24 августа 2010

Я пытаюсь выполнить операции SET в Oracle для удаленных баз данных.Я использую оператор MINUS.

Мой запрос выглядит примерно так:

SELECT NAME FROM localdb MINUS SELECT NAME from remotedb@dblink

Это вызывает ошибку ORA-12704.Я понимаю, что это требует какого-то преобразования или настройки NLS.

Что мне делать дальше?

Ответы [ 2 ]

1 голос
/ 25 августа 2010

Два столбца name хранятся в разных наборах символов.Это может быть связано с их определениями типов или с тем, что две базы данных используют разные наборы символов.

Вы можете обойти это, явно преобразовав поле из удаленной базы данных в набор символов.местного.Попробуйте это:

SELECT NAME FROM localdb MINUS SELECT TO_CHAR(NAME) from remotedb@dblink
0 голосов
/ 24 августа 2010

Сшивает типы столбцов NAME в этих двух таблицах.

Убедитесь, что столбец NAME в таблице remotedb в точности соответствует того же типа , что и NAME в таблице localdb. Обязательно при использовании оператора МИНУС.

...