powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Русские буквы в Sybase ASA 7
11 сообщений из 11, страница 1 из 1
Русские буквы в Sybase ASA 7
    #35201477
tumanov777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте уважаемые форумчане.
У меня вопрос по Sybase ASA 7.

Я не могу подключиться так, чтобы нормально работать с русскими буквами.
Использую следующую строку подключения:
DRIVER=Adaptive Server Anywhere 7.0;UID=psds;PWD=psds;CommLinks=TCPIP{TO=1},SharedMemory;DisableMultiRowFetch=No;Debug=No;Integrated=No;AutoStop=No;EngineName=TEST_SQL_SERVER;TranslationDLL=C:\Program Files\Sybase\SQL Anywhere 7\win32\dbodtr7.dll;TranslationName=Adaptive Server Anywhere 7.0 Translator;TranslationOption=1

В ней указывается сибейсовский транслятор, при котором следующие ограничения:
1. В результатах запроса русские буквы отображаются нормально.
2. При выполнении запроса, если в нем присутствуют русские буквы, он почемуто ругается на неправильный синтаксис. При этом, видимо, серверу запрос передается в юникоде, хотя отправляется в 1251.

Если не указывать транслятор:
1. Результаты выдаются в юникоде.

Пробовал указывать разные значения Charset, не помогает.
Что делать не знаю, помогите, а?
...
Рейтинг: 0 / 0
Русские буквы в Sybase ASA 7
    #35201956
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. определи в какой кодировке создана база (не помню как)
2. как знаешь что результат в юникоде? (подозреваю что это не так)
3. как ругается сервер на кирилицу? какой запрос посылаешь?
...
Рейтинг: 0 / 0
Русские буквы в Sybase ASA 7
    #35203804
tumanov777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Не определил потому что сам не знаю как.
2. Может и в какойто другой.
3. Говорит ошибка в синтаксисе и показывает отрывок из запроса, в котором вместо русских букв текст именно в этой кодировке.
...
Рейтинг: 0 / 0
Русские буквы в Sybase ASA 7
    #35204127
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во первых сделай SELECT DB_PROPERTY ( 'CharSet ' ); .... впрочем не уверен было ли это в семерке или нет. Посмотри окно серевера, возможно там есть что-то про кодировки. И кажется в ASA ранее девятки у сервера был специальный ключик для работы с кодировками.

Убери транслятор вообще и попробуй кинуть запрос. Лучше всего напрямую через C-ODBC чтобы иметь доступ к сырым байтам текста, узнаешь в какой кодировке у тебя посылается/возращается текст в действительности. Потом включи трансялтор и пробуй еще раз...
...
Рейтинг: 0 / 0
Русские буквы в Sybase ASA 7
    #35204417
tumanov777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DB_PROPERTY выдало cp866.
Как сделать чтобы было cp1251?
...
Рейтинг: 0 / 0
Русские буквы в Sybase ASA 7
    #35204426
tumanov777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При чем саму базу и ее кодировку менять нельзя.
...
Рейтинг: 0 / 0
Русские буквы в Sybase ASA 7
    #35204461
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tumanov777DB_PROPERTY выдало cp866.Ну вот, теперь ты знаешь из чего надо конвертировать. Если будешь работать вообще без транслятора, то сможешь использовать собственную функцию конвертации из/в cp866.
А чтобы поручить это транслятору надо сказать ему в какой кодировке твой клиент хочет получать текст. Это делается ключом charset в строке коннекта.

tumanov777Как сделать чтобы было cp1251?Уже никак. Кодировка хранения задается при создании базы и не меняется в течении всей жизни базы. Теперь можно только перезалить базу целиком.
...
Рейтинг: 0 / 0
Русские буквы в Sybase ASA 7
    #35204552
tumanov777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
charset не помогает. пробовал разные - результат один - без изменений. А свой транслятор какнить можно написать?
...
Рейтинг: 0 / 0
Русские буквы в Sybase ASA 7
    #35204562
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tumanov777charset не помогает. пробовал разные - результат один - без изменений. А свой транслятор какнить можно написать?Можно, но зачем?
Если сейчас кто-нибудь не прийдет знающий (а не помнящий) семерку, то может подскажет как правильно использовать транслятор. Я уже просто не помню, в девятке это слегка упростили :)
Но в принципе, как я уже говорил можешь вообще забыть про транслятор и самостоятельно делать конвертацию всех текстов перед отправкой в базу и после прочтения из базы. Это будет слегка неудобно, но работать будет.
...
Рейтинг: 0 / 0
Русские буквы в Sybase ASA 7
    #35204630
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделай dbunload
конвертни все файлы из 866 в 1251
создай новую БД с cp1251
запусти полученый reload.sql
...
Рейтинг: 0 / 0
Русские буквы в Sybase ASA 7
    #35208435
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас есть нормально работающие приложения с БД(cp866) на АСА6. Приложения
на ПБ6.5 под виндами, в строке подключения добавлено только TranslatorDLL.
Ничего не глючит, ошибок нет.
Можно запустить сервер БД с ключиком ct, тогда сервак сам будет конвертить в
кодовую страницу клиента. Ее он определяет по сообщениям от клиентского
драйвера. Если клиент под линуксом, то сервак выдает данные в юникоде.
Короче эксперименты, эксперименты и еще раз эксперименты. Каждый раз
смотреть на свойства CHARSET подключения.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Русские буквы в Sybase ASA 7
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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