Приложение обновляется и начинает работать в связке с БД Oracle.
Как говорил один умный человек "если они переезжают - значит это кому нибудь нужно..." Не понятно другое для чего приложение рассчитанное на 1-2 пользователя перевозить на oracle (если найдутся люди кто это сможет как то мотивировать - добро пожаловать) в общем не важно.
Что мы имеем:
- CD/DVD:
- Бумажка с уведомлением
на диске содержатся:
1. ключ
2. клиентская часть
3. серверная часть
4. дистрибутив OracleXE
5. инструкции*(Установка OracleXE, Серверная часть, Клиентская часть)
Ставить OracleXE на сервак где уже есть 10-ка было бы глупо. Поднимать рабочую станцию с нуля изза одной базенки которая будет занимать 2-4 гб тоже не по феншую.
- Поднимаем на 10-ке базу с настройкам по умолчанию.
- Прогоняем скрипты.
- Рисуем запись в tnsnames на клиентской машине
- Подключаемся к базе PL/SQL Developer-ом
Все пучком. Приступаем к установке клиентской части. Приложение устанавливается просит перезагрузку. Перезагружаемся, прописываем "IP сервера", "имя базы" и "Порт" пытаемся подключиться (уже как бы предвкушая завершение) как тут при подключении выдает:
ковыряюсь в настройках tnsnames и listener все как нада.
в директории с клиентским приложением нахожу файл sqlnet.log
Звоню в поддержку. Оказывается OracleXE при установке создает базу с параметром NLS_CHARACTERSET AL32UTF8 и именно его нужно прописывать при создании базы (на текущей этот параметр = CL8MSWIN1251). Посоветовали все сделать по новой... Вроде данных в этой базе нет - теоретически параметры можно поменять "на лету". захожу не сервер
- windows+R: cmd
- set oracle_sid=csd
- sqlplus /nolog
- connect /as sysdba
- select * from v$instance; --(убедимся что сидим в той базе в которой нужно, должно быть написано csd)
- shutdown immediate;
- startup mount
- alter system enable restricted session;
- alter system set job_queue_processes=0;
- alter database character set
забил (временно потом потренируюсь на этой базе, придется послушать Поддержку)
По новой:
первые 9 пунктов на выбор в 10 пункте во вкладке Character Sets выбираем
далее... далее... готово
(новую базу назвал csd)
гоним скрипты.
1. первый: install.bat "syspass"
- просит tablespace для пользователя csd - вводим users
- просит temporary tablespace для пользователя csd - вводим temp
- просит пароль для пользователя sys - "пароль"
- смотрим isntall.log там все нормально - идем дальше
2. второй: All_schema.bat
- что то делает изо всех сил (для верности все же поправил батничег в sqlplus "/ as sysdba" добавил название базы @csd (кто его знает куда он загонит все эти изменения?)
- проверил install_all_schemas.log там все ок (разве что предупреждения об инвалидах)
3. третий: data.bat
- что то делает изо всех сил (для верности все же поправил батничег в sqlplus "/ as sysdba" добавил название базы @csd (кто его знает куда он загонит все эти изменения?)
- проверил inserrt_data.log там все ок
Заходим в базу PL/SQL Developer-ом компилим инвалиды.
Как то все просто :)
Ставлю клиентскую часть на машину.
Замечаю какие то удивительные вещи (в процессе работы) windows+r "cmd"
прописываю ping ... ipconfig... винда пишет что команды не являются внутренними... что то не так. В процессе установки installer затирает параметр Path в Переменных средах (так что желательно перед установкой сохранить строчку) добавил пути которые вспомнил (уверен что их было больше - обойдусь, если что добавлю)
Возникает вопрос: Не легче было не трогать этот параметр и в инструкции написать чтобы добавили путь в эту строку (если не можете сделать нормально)?!
Перезагрузка... Запускаю приложение:
- прописываем "IP сервера", "имя базы" и "Порт" пытаемся подключиться (уже как бы предвкушая завершение) как тут при подключении выдает:
в лог файлах программы все та же ошибка...
Захожу в listener.ora на сервера - там нет записи об этой базе - добавляю. Рестартую listener
пытаюсь подключиться - опять не получается... звонить в поддержку?
В общем это кривой софт. Скачать версию можно только зарегистрировавшись. Прислали с водителем обновление (один exe файл и несколько скриптов по обновлению базы) - все чудесным образом заработало...