Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Linked server to oracle text encoding  [new]
LargeCollider
Member

Откуда:
Сообщений: 2
Доброго дня!

к microsoft sql server 2005 прилинкован oracle v11
получаю не читаемый текст на кириллице
oracle:
select * from V$NLS_PARAMETERS where (parameter = 'NLS_CHARACTERSET');

NLS_CHARACTERSET	CL8MSWIN1251

tsql: параметры сортировки Cyrillic_General_CI_AI_KS
на оракле текст храниться в VARCHAR2

решил проблему установкой параметра прилинкованного сервера:
"Имя параметров сортировки" Georgian_Modern_Sort_CI_AI_KS
(нормально текст показала только она)

все работало, до той поры как не понадобилось выбрать текст в sp, кодировка слетает и уже никак не подбирается
получается, при попытке выбрать текст в переменную он уже не читаем, хотя "прямые" селекты продолжают работать
может кто с таким сталкивался?
alter PROCEDURE [dbo].[test]
AS
BEGIN
  DECLARE @region AS nvarchar(128)

  DECLARE [lcAddress] CURSOR FOR
    SELECT t1.region
    FROM MISC..OMS.MARS#OSA_TOPIC t1
    WHERE (34630 = t1.id)

  OPEN [lcAddress]
  FETCH NEXT FROM [lcAddress] INTO @region, @region2
  CLOSE [lcAddress]
  DEALLOCATE [lcAddress]

  SELECT @region --текст не читаем

  DECLARE [lcAddress1] CURSOR FOR
    SELECT CAST(t1.region AS nvarchar(1000)) region
    FROM OPENQUERY(MISC, 'SELECT t1.region
    FROM OMS.MARS#OSA_TOPIC t1
    WHERE (34630 = t1.id)') t1

  OPEN [lcAddress1]
  FETCH NEXT FROM [lcAddress1] INTO @region
  CLOSE [lcAddress1]
  DEALLOCATE [lcAddress1]

  SELECT @region --текст не читаем

  SELECT @region = t1.region
  FROM MISC..OMS.MARS#OSA_TOPIC t1
  WHERE (34630 = t1.id)

  SELECT @region --текст не читаем
   
  --текст нормально читаем
  SELECT t1.region
  FROM MISC..OMS.MARS#OSA_TOPIC t1
  WHERE (34630 = t1.id)

  --текст нормально читаем
  SELECT t1.region
  FROM OPENQUERY(MISC, 'SELECT t1.region
  FROM OMS.MARS#OSA_TOPIC t1
  WHERE (34630 = t1.id)') t1
END
GO
12 мар 18, 17:15    [21250498]     Ответить | Цитировать Сообщить модератору
 Re: Linked server to oracle text encoding  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
Модератор: Может, хватит плодить темы?
12 мар 18, 17:21    [21250524]     Ответить | Цитировать Сообщить модератору
 Re: Linked server to oracle text encoding  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
https://asktom.oracle.com/pls/apex/asktom.search?tag=differrent-character-set-and-nls
13 мар 18, 11:11    [21252189]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить