powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle. DBLINK в PostgreSQL. Размер символьных полей
5 сообщений из 5, страница 1 из 1
Oracle. DBLINK в PostgreSQL. Размер символьных полей
    #38841906
Зарастро
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Ситуация такая.
Есть БД Oracle.
Есть в БД PostgreSQL.

Почему-то если символьные поля с типом
Код: plsql
1.
character(n)

в БД PostgreSQL имеют большую длину - например 4000,
то при запросе таблиц из Oracle по dblink-у

Код: plsql
1.
select * from "t"@PG_LINK



соответствующие поля невидны.

Oracle их как бы "не видит" и не знает об их существовании.

Кто сталкивался?
В чём м. б. проблема?
М. б. параметр какой есть?
...
Рейтинг: 0 / 0
Oracle. DBLINK в PostgreSQL. Размер символьных полей
    #38841958
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Как создан dblink? какой провайдер
2) Какой тип у таблицы если из sqlplus
выполнить команду:
describe "t"@PG_LINK
3) Какой NLS_CHARACTERSET у DBOracle и y DBPostGress
4) Какая кодировка у HS_LANGUAGE
5) Если провайдер ODBC, что показывает ODBC test

Скорее всего проблема в том что кодировка PG многобайтовая а Oracle однобайтовая
поэтому у Вас и происходит неправильное преобразование типов.
Нужно попробовать явное преобразование типов
например с помощью to_lob или to_char
...
Рейтинг: 0 / 0
Oracle. DBLINK в PostgreSQL. Размер символьных полей
    #38859891
Зарастро
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin,

1) линк создан с помощью ODBC

2) из SQL*Plus


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> desc "t"@PG_LINK
 Lь                                        ¦єёЄю?   Tшя
 ----------------------------------------- -------- ----------------------------

 f                                                  NVARCHAR2(500)
 f2                                                 NVARCHAR2(2000)


Поля character бОльшего размера Oracle "не видит".





3)

Oracle:

Код: plsql
1.
2.
3.
4.
5.
6.
select *
from nls_database_parameters
where parameter like 'NLS_CHARACTERSET'
/
 
NLS_CHARACTERSET - CL8MSWIN1251



PostgreSQL:

Код: plsql
1.
2.
3.
show server_encoding;

"WIN1251"




4)

Код: plsql
1.
HS_LANGUAGE=RUSSIAN_RUSSIA.CL8MSWIN1251




5)
...
Рейтинг: 0 / 0
Oracle. DBLINK в PostgreSQL. Размер символьных полей
    #38860344
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зарастро,
Судя по всему, это баг HS, исправлен в 11.2.0.4

http://www.postgresql.org/message-id/5190C0EE.6090103@vmware.com]посмотрите вот это
ну и Note: 1468941.1 в помощь

p.s. Можете даже не патчить саму базу, достаточно параллельно поставить в другое
ORACLE_HOME версию 11.2.0.4 и поднять HS на ней.
...
Рейтинг: 0 / 0
Oracle. DBLINK в PostgreSQL. Размер символьных полей
    #38860586
Зарастро
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin,

спасибо большое.
Попробую.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle. DBLINK в PostgreSQL. Размер символьных полей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]