Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77
Доброго времени суток.

Есть база на MS SQL. К ней прилинкована база на Oracle. В первой базе создана вьюха, берущая данные из базы оракла. Русские символы приходят коряво. В чем проблема?

nsl_lang клиента AMERICAN_AMERICA.CL8MSWIN1251. Русский тоже не помог.
19 окт 12, 16:55    [13348061]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Kopilogus
Member

Откуда:
Сообщений: 49
Andrew88,

скрипт вьюхи можно посмотреть?
19 окт 12, 17:04    [13348106]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Andrew88
Доброго времени суток.

Есть база на MS SQL. К ней прилинкована база на Oracle. В первой базе создана вьюха, берущая данные из базы оракла. Русские символы приходят коряво. В чем проблема?

nsl_lang клиента AMERICAN_AMERICA.CL8MSWIN1251. Русский тоже не помог.
А если через sqlplus с сервера, на котором MS SQL работает, посмотреть код, который во вьюхе?
19 окт 12, 17:24    [13348179]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
aleks2
Guest
Может на оракле юникод всеж имеется?
Тады конвертнуть в юникод. И иметь искомое щастье.
20 окт 12, 10:28    [13350126]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77
Код вьюхи (сам запрос):
SELECT a.REQUEST_ID AS sourceid,
a.SERVICE_NAME AS description,
a.REASON_NAME AS cclass, a.ASR_ACCOUNT,
a.CONTACT_NAME,
a.CONTACT_INFO,
a.CLIENT_NAME,
a.ADDRES_INFO,
a.SERVICE_NAME,
a.DESCRIPTION AS information,
a.TYPE_NAME AS client_type

FROM OPENQUERY(MIS1, 'SELECT * FROM oms_export_out') a

Оракловая база все же в 1251
22 окт 12, 09:48    [13354585]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Что в опциях самого линкед сервера задано для collation ?
22 окт 12, 10:19    [13354774]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
а какой провайдер используете для линкед сервера?
вот похожая тема была
SSIS. Проблема с кодировкой при миграции данных из Oracle в MS SQL
22 окт 12, 10:22    [13354792]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77
автор
Что в опциях самого линкед сервера задано для collation ?

Речь о MS SQL или о Oracle?

автор
а какой провайдер используете для линкед сервера?
вот похожая тема была
SSIS. Проблема с кодировкой при миграции данных из Oracle в MS SQL


Читал, пробовал. Не помогло.
22 окт 12, 14:00    [13356531]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
Andrew88
автор
Что в опциях самого линкед сервера задано для collation ?

Речь о MS SQL или о Oracle?

автор
а какой провайдер используете для линкед сервера?
вот похожая тема была
SSIS. Проблема с кодировкой при миграции данных из Oracle в MS SQL


Читал, пробовал. Не помогло.


т.е поменяли провайдера данных для линкед сервера и результат тот же?
22 окт 12, 14:11    [13356619]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77
Эм...
При создании ODBC-источника я изначально выбрал Oracle_in_OraClient, а не мелкософтовый.
22 окт 12, 14:37    [13356818]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
Andrew88
Эм...
При создании ODBC-источника я изначально выбрал Oracle_in_OraClient, а не мелкософтовый.


приведите скрипт создания линкед сервера
22 окт 12, 14:49    [13356918]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77
Вместо скрипта скрин подойдет?
22 окт 12, 15:47    [13357317]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77


К сообщению приложен файл. Размер - 11Kb
22 окт 12, 15:48    [13357320]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7498
Andrew88,

скрин третьей вкладки тогда уж покажите
22 окт 12, 15:53    [13357354]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7498
Andrew88,

collation линкед сервера будет влиять на кодировку результата
22 окт 12, 15:53    [13357356]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77
То есть мне снять галку?

К сообщению приложен файл. Размер - 8Kb
22 окт 12, 16:29    [13357564]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77
Пробовал поставить collation compatible в false, и ребутнуть службу MSSQLSERVER.
Не помогло.
23 окт 12, 10:24    [13360536]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
во-первых, что бросилось в глаза, то что у Вас MSSQL 2000
во-вторых, на последнем оставшемся 2000 у меня вот так создается линкед сервер у ораклу

+
EXEC master.dbo.sp_addlinkedserver @server = N'ИМЯ ЛИНКЕД СЕРВЕРА', @provider=N'MSDAORA', @datasrc=N'ИМЯ ОРАКЛА'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ИМЯ ЛИНКЕД СЕРВЕРА',@useself=N'False',@locallogin=NULL,@rmtuser=N'ИМЯ ПОЛЬЗОВАТЕЛЯ',@rmtpassword='ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ'

GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'collation compatible', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'data access', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'dist', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'pub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'rpc', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'rpc out', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'sub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'connect timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'collation name', @optvalue=null
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'lazy schema validation', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'query timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'ИМЯ ЛИНКЕД СЕРВЕРА', @optname=N'use remote collation', @optvalue=N'true'



и никакого ODBC-источника я не использую
23 окт 12, 11:13    [13360907]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77
Пересоздал дблинк с другого сервера, где так же стоит ms sql, но русская Win2003. Там проблем с кодировками нет.
Все языковые пакеты установлены, язык стоит русский.
Наверное что-то еще в винде недорусифицировалось?
23 окт 12, 17:24    [13364365]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Andrew88
nsl_lang клиента AMERICAN_AMERICA.CL8MSWIN1251.

Эта настройка каким образом задана и где?
Надеюсь, в реесте сервере, где крутиться MSSQL, в кусте HKLM, в ветке того клиента Оракла, который используется?
23 окт 12, 17:34    [13364443]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
Глеб
Andrew88
nsl_lang клиента AMERICAN_AMERICA.CL8MSWIN1251.

Эта настройка каким образом задана и где?
Надеюсь, в реесте сервере, где крутиться MSSQL, в кусте HKLM, в ветке того клиента Оракла, который используется?


NLS_LANG можно задать и в одноименной переменной среды.
более того, если задана переменная среды, Оракл не полезет в реестр.
посмотреть параметры сессии можно через sqlplus:
SELECT * FROM nls_session_parameters

(разумеется, запустить с проблемного компа)
23 окт 12, 18:05    [13364652]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Yasha123
NLS_LANG можно задать и в одноименной переменной среды.
более того, если задана переменная среды, Оракл не полезет в реестр.
посмотреть параметры сессии можно через sqlplus:
SELECT * FROM nls_session_parameters
(разумеется, запустить с проблемного компа)

Yasha123, ты забыл существенное уточнение. Переменная окружения понадобиться либо для машины, либо для учетной записи MSSQL. Что как бы усложняет.
23 окт 12, 19:57    [13365114]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77
Глеб
Andrew88
nsl_lang клиента AMERICAN_AMERICA.CL8MSWIN1251.

Эта настройка каким образом задана и где?
Надеюсь, в реесте сервере, где крутиться MSSQL, в кусте HKLM, в ветке того клиента Оракла, который используется?


Да
24 окт 12, 15:30    [13369226]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
Andrew88
Member

Откуда:
Сообщений: 77
Yasha123
Глеб
пропущено...

Эта настройка каким образом задана и где?
Надеюсь, в реесте сервере, где крутиться MSSQL, в кусте HKLM, в ветке того клиента Оракла, который используется?


NLS_LANG можно задать и в одноименной переменной среды.
более того, если задана переменная среды, Оракл не полезет в реестр.
посмотреть параметры сессии можно через sqlplus:
SELECT * FROM nls_session_parameters

(разумеется, запустить с проблемного компа)



SQL Plus выдал:
SQL> SELECT * FROM nls_session_parameters
SP2-0103:  áóôåðå SQL íåò íè÷åãî äëÿ ïðîãîíà.
SQL>

Запускал на сервер с MS SQL
24 окт 12, 15:36    [13369282]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с кодировкой (к Ms SQL приаттачен Oracle)  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Попробуй создать значение NLS_LANG в ключе уровнем выше, прямо в ключе ORACLE.
24 окт 12, 16:23    [13369744]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить