• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Переход от 5го сервера на 7й

  • Автор темы Alex_Sun
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Alex_Sun

Есть два сервера, один 5й, другой 7й, работают под солярисом. Давно бы были оба 7й версии НО...

База имеет поля с русскими символами(кирилица) в названии полей. Когда переносишь БД с 5-го на 7-й, или создаёшь
реплику, или обновляешь 5й до седьмого, валезет всё портящий баг.

Когда изменяешь любой документ, т.е. сохроняешь его, то отробатывает процесс который обновляет индексы ПРЕДСТАВЛЕНИЙ, но в семёрке он почемуто напроч не видет русские поля, т.е. любое поле , содержащие кирилицу, он видет пустой строкой. Таким образом (т.к. в моём случае все поля русские) после сохранения строка в предтавтении становится пустой. Временно поправить ситуацию можно ребилдом индекса( Shift+f9 - текущее представление, Ctrl+Shift+f9 - все представления БД ), но как только сохранишь документ, в представлении он видется пустой строкой.

Версия сервера 7.0.2, на тестовой машине пробовали 7.0.3. Пробовали виндовый сервер, там такой проблемы нет.
Подозреваю, что дело в ленгвич паке, на пятом он стоит, а на 7й его нет впринципе, только под винду. Гдето читал что виндовый ленгвич пак можно прекрутить под соляру.

Проблема стоит очень остро, базы создавали ещё студенты, не понимающие, что русский язык в программировании недопустим, но переименовывать архи-сложная задача. Базы огромные и должны быть всегда доступны, формы тоже очень большые, полей сотни, баз десятки.

Кто сталкивался с подобной проблемой, или может даже успешно её решил, или просто имеет какиеть соображения по данному поводу, буду очень признателен за помощь. Заранее спасиба.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
216
мои соображения

основной баг - русские имена полей...

пробегитесь по всем докам и сделайте транслит полей (названий) - т.е.копирование содержимого в новое поле (с англицким транслитом) и убиение старого поля
поля рекомендую получать через массив дока Items
после чего поменяйте дизайн базы (можно тоже в автомате - тока получать дизайн ноты нужно) - здесь возможно использование ДХЛ
перед всеми действиями - обязательно бэкап
производить действия: на реплик копиии, и лучше - на отключённом от репликаций сервере (поднять еще один - выделенный)
опосля удовлетворения сделанным - можно отреплицировать обратно, и запустить скрипт над новыми доками
 
A

Alex_Sun

Всё верно, даже наполовину разработал скрипты переименовывающие поля и дизайн через DXL, но
1. Останавливать работу баз крайне не жилатеьлно, а как я писал, формы и базы очень большие и очень долго обрабатываются
2. Возможно есть какоеть алтернативное решение, может тотже русский лэнгвич пак прекрутить, на винде ведь нет такой проблемы.

По поводу работы на реплике - база очень нагружена и будет куча конфликтов

Да и мутарно это, вот и ищу алтернативы
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
216
-если база большая - то со всеми доками одновременно там никто не работает (сервак не выдержит)
значит работают с ограниченным кол-вом доков
-конфликтов быть не должно - ведь поля будут другие!

в отличии от венды прикрутить "нужный" язык к линухам - плевое дело
locale - ваше всё, даже отдельное приложение м.б. запущено со своей локалью
полагаю ваша трабла в локали, но это временное решение, а правильное - замена дизайна
и это не муторно - т.к. транслит можно автоматизировать
 
A

Alex_Sun

Безусловно, переименовать поля правиьлное решение, я щас этим и занимаюсь, кстати, столкнулся с проблемой кодировон - DXL выгружается в UTF-8 а лотус работает в виндовой(1251) кодиравке, приходится сторонними программами править кодировку, затем переименовывать поля, и обратно в UTF-8. Но былобы очень хорошо решить проблема и на админестративном уровне, т.е. както сделать чтобы русские поля он всёже видел, ведь пятёрка видет, и семёрка на винде видет.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
216
яже уже сказал смотрите locale на линухе
меняется типа export LC_ALL=ru_RU.UTF-8 (должна быть установлена поддержка русского!)

не надо менять rкодировку сторонними программами - кодировка меняется как в LS в стрингах, так и в NotesStream (stream.Open(filename$, "Windows-1251"))


вот мой рапер:
(хотя он врядли понадобится, там 866 страницу обходил)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!