powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
13 сообщений из 13, страница 1 из 1
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065648
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно, все в сабже.

Что можно сделать и можно ли?
еще раз уточню, что 1С забирает данные через ODBC, а не через DB LINK.

есть ли какие-нибудь настройки ODBC?
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065652
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
receiver
Собственно, все в сабже.
В сабже херня. Там утверждается, что есть две БД. И при чём тут недо-эс? И ODBC?
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065656
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,
не столько даже две БД, поскольку через db_link они хорошо разговаривают,
а то, что на одной БД стоит 1C и запросы оттуда, через ODBC, возвращают кыргуду

еще раз поясню беду - 1с, живущая на одном сервере с БД (AL32UTF8) забирает данные из другой (cl8mswin1251)
забирает через ODBC.
и в строках выводит ???????
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065660
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
receiver,

Запустите "на одном сервере с БД (AL32UTF8)" стандартную утилиту SQL*Plus,
выполните команду SELECT из таблицы с данными на русском языке и покажите результат.
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065664
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
create table abc(str varchar2(20));

insert into abc values('проверка');
insert into abc values('проверка');
insert into abc values('проверка');
insert into abc values('проверка');
commit;

select * from abc;

STR
----
проверка
проверка
проверка
проверка
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065666
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
receiver
create table abc(str varchar2(20));

insert into abc values('проверка');
insert into abc values('проверка');
insert into abc values('проверка');
insert into abc values('проверка');
commit;

select * from abc;

STR
----
проверка
проверка
проверка
проверка

1) Я правильно понимаю, что это выборка из базы с кодировкой AL32UTF8
с помощью стандартной утилиты SQL*Plus, запущенной на этом же сервере?

2) Теперь выполните с помощью этой же утилиты SQL*Plus, запущенной на этом же сервере,
выборку данных "из другой (cl8mswin1251)". Покажите, что получится.
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065667
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, первое действие относилось к БД с AL32UTF8,
которая забирает данные


ниже, те же действия на БД с cl8mswin1251, к которой направлен запрос

create table abc(str varchar2(20));
insert into abc values('проверка');
insert into abc values('проверка');
insert into abc values('проверка');
insert into abc values('проверка');
commit;
select * from abc;

STR
-----
проверка
проверка
проверка
проверка
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065670
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПОСПЕШИЛ!

второй запрос я выполнял сначала в SQL Developer.
а именно в SQL*Plus я получил облом!

SQL> select * from abc;

STR
--------------------------
????
????
????
????
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065671
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к слову, обе базы на одном сервере.
вчера накрылся сервер для 1С и я активировал standby на том же сервере, где и первая БД.
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065673
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, оказалось, что все нормально.
просто пока я пытался что-то ухватить, то изменил в regedit

RUSSIAN_RUSSIA.CL8MSWIN1251
на
RUSSIAN_RUSSIA.AL32UTF8

нынче, когда вернул
RUSSIAN_RUSSIA.CL8MSWIN1251

обе БД выводят нормальные русские символы.
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065693
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот что получилось - вдруг, кому пригодится.

попытки изменить командой NLS_LANG на уровне ОС,
приводили к тому, что 1с вообще не инициализировался.
управлял этим не я - коллега, пользующийся 1с был далеко и общались по телефону.
а потом он попробовал через GUI окошечки Windows Server задать NLS_LANG
только для одного пользователя, от имени которого он работал.
и все стало нормально!

мы увидели русскую знакогенерацию, что и хотели!
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065696
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
receiver
попытки изменить командой NLS_LANG на уровне ОС
И где прописывали эту команду?
Обычно такие попытки приводят к установке переменной только для текущей сессии CommandShell, в которой и устанавливали, на остальные программы это не влияет.
...
Рейтинг: 0 / 0
из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
    #40065728
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мой удаленный коллега выполнил это действие.
прислал фотку, но из-за плохого качества я понял,
что меняет он только для себя.
Уточню завтра, напишу, потому как может кому-то будет полезно.

да, и еще мне было не понятно - до изменения NLS_LANG,
запрос
select CLIENT_CHARSET from v$session_connect_info
возвращал для этого пользователя UTF16.
у нас везде прописано или cl8mswin1251 или юникод AL32UTF8.

откуда взялось это UTF16 мне не понятно.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / из БД с cl8mswin1251 в БД с AL32UTF8 через ODBC получаеются кракозябры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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