Бесплатная система линейного и технического учёта (кросс, кабельная система) от фирмы РиКо.
https://sourceforge.net/projects/rslight/
http://fv32.net/RSlight/
https://web.archive.org/web/20141116073821/http://fv32.net/RSlight/
БД RSlight работает на сервере Oracle Database 10 Express Edition, версия для Западной Европы, не Unicode-версия.
Типичные параметры для сервера:
Destination Folder | C:\oraclexe\ |
Port for 'Oracle Database Listener' | 1521 |
Port for 'Oracle Services for Microsoft Transaction Server' | 2030 |
Port for HTTP Listener | 8080 |
При установке сервера Oracle XE автоматически создаётся БД SYSTEM
, поэтому необходимо указать пароль администратора БД (SYS
).
Все приведённые ниже запросы выполняются в sqlplus.exe
, по умолчанию файл находится в папке C:\oraclexe\app\oracle\product\10.2.0\server\BIN\
, для авторизации нужно использовать имя пользователя SYSTEM
(если явно не указано другое) и пароль, заданный на этапе установки сервера.
После установки сервера и создания базы, сервер по умолчанию будет использовать кодовую страницу WE8MSWIN1252
. Это приведет к некорректному отображению кириллических символов. Ниже приведен способ, устраняющий данную проблему. Важно отметить, что любые изменения используемой кодовой страницы необходимо выполнять сразу после установки сервера и до создания БД (до создания в ней пользователей и пользовательских объектов).
1. Нужно выполнить запрос и убедится в том, что для параметра NLS_CHARACTERSET
выставлено значение WE8MSWIN1252
:
SELECT VALUE$ FROM SYS.PROPS$ WHERE NAME = 'NLS_CHARACTERSET';
2. Нужно выполнить команды (по одной строке):
CONNECT SYS/ПАРОЛЬ AS SYSDBA; UPDATE SYS.PROPS$ SET VALUE$ = ‘CL8MSWIN1251’ WHERE NAME =‘NLS_CHARACTERSET’; COMMIT; SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER DATABASE OPEN; ALTER DATABASE XE CHARACTER SET CL8MSWIN1251; SHUTDOWN IMMEDIATE; STARTUP;
Описание команд:
SYS
с правами SYSDBA
(указав в строке пароль)NLS_CHARACTERSET
в таблице PROPS$
, БД SYS
SYS
в режиме IMMEDIATE
и перезапуск ее с включением режима RESTRICTED SESSION
(в указанном режиме с базой могут работать только пользователи с привилегией RESTRICTED SESSION
. Перевод базы в этот режим необходим для выполнения ALTER DATABASE CHARACTER SET
SYS
3. Чтобы убедится в том, что для параметра NLS_CHARACTERSET
выставлено значение CL8MSWIN1251
:
SELECT VALUE$ FROM SYS.PROPS$ WHERE NAME = 'NLS_CHARACTERSET';
RSLight требует для работы единственную схему в базе данных на сервере.
Имя схемы может быть произвольным (к примеру DBEMPTY
).
Пароль к ней задается DBA-администратором.
В последствии администратор комплекса будет иметь доступ к консоли администратора RSLight с помощью этой учетной записи.
Одним из вариантов создание схемы может быть восстановление из файла экспорта (дампа), предоставляемого разработчиком.
Подключится к БД пользователем SYS с правами SYSDBA (SYS as SYSDBA). Создать специального пользователя командами, приведенными ниже, предварительно изменив в них имя этого пользователя (параметр XEDBA) и пароль (параметр password) на подходящие. От имени этого пользователя в дальнейшем в БД будет создаваться схема, необходимая для работы RSLight.
В sqlplus выполняем:
CREATE USER XEDBA PROFILE "DEFAULT" IDENTIFIED BY "ПАРОЛЬ" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; GRANT DBA TO XEDBA;
Подключиться к БД пользователем XEDBA
. От имени этого пользователя запустить скрипт recreate_user_xe.sql
для создания схемы в БД.
В стартовой части скрипта необходимо указать имя схемы прописными буквами (например, DBEMPTY
) и пароль, который впоследствии будет являться паролем для входа в систему администрирования комплекса RSLight.
Если в конце скрипта отсутствует символ /
то его нужно туда добавить !
sqlplus.exe "XEDBA/ПАРОЛЬ@xe as sysdba" @recreate_user_xe.sql
Для импорта данных в созданную схему необходимо запустить командный файл import.bat
и передать ему параметром имя файла схемы, например для DBEMPTY
нужно взять DBEMPTY_rslight.DMP
Из архива impexp.zip нужно взять файлы:
ExpImp_FGAC.exe | Утилита для импорта/экспорта |
import.bat | Командный файл импорта БД |
import.ini | Настройки для импорта БД |
Из dbempty_rslight.zip файл:
DBEMPTY_rslight.DMP | Дамп пустой БД |
и выполнить:
import.bat DBEMPTY_rslight.DMP
После осуществления импорта данных необходимо откомпилировать инвалидные объекты в БД, для этого выполняем:
sqlplus.exe "SYSTEM/ПАРОЛЬ" @recompile_DBEMPTY.sql
EXEC DBMS_UTILITY.compile_schema(schema => 'DBEMPTY')
Пример скрипта для создания резервной копии БД DBEMPTY
@ECHO OFF REM Вызов скрипта получения имени текущего дня C:\Scripts\pdate.exe "\s\e\t \d\n\=u" > C:\Scripts\pdate_tmp.cmd CALL C:\Scripts\pdate_tmp.cmd DEL C:\Scripts\pdate_tmp.cmd REM Определение переменных SET EXP_FILE=D:\Backup\DBEMPTY_%dn%.dmp SET LOG_FILE=D:\Backup\DBEMPTY_%dn%.log SET PAR_FILE=C:\Scripts\DBEMPTY_export.ini SET PASSWORD=ПАРОЛЬ REM Выполнение резервного копирования SET nls_lang=AMERICAN_AMERICA.CL8MSWIN1251 C:\oraclexe\app\oracle\product\10.2.0\server\BIN\exp.exe USERID=DBEMPTY/%PASSWORD%@XE OWNER=DBEMPTY PARFILE=%PAR_FILE% FILE=%EXP_FILE% LOG=%LOG_FILE% SET nls_lang=RUSSIAN_CIS.CL8MSWIN1251 EXIT
ПАРОЛЬ
- Нужно заменить на пароль к БД DBEMPTY
DBEMPTY
set nls_lang=AMERICAN_AMERICA.CL8MSWIN1251 C:\oraclexe\app\oracle\product\10.2.0\server\BIN\imp.exe USERID=DBEMPTY/ПАРОЛЬ@xe PARFILE=import.ini FILE=%1 LOG=import.log set nls_lang=RUSSIAN_CIS.CL8MSWIN1251
ПАРОЛЬ
нужно заменить на пароль к БД, и передать в качестве параметра имя файла с дампом БД.
Настройка\Синхронизация учетных записей
и Настройка\Обновление прав пользователей
Иначе при запуске RSlight возникает ошибка:Ошибка ORA-01017:invalid username/password; logon denied
Установка по стандартной документации к пакету: InstRSlight_2_0_0_1.doc
Сначала нужно выполнить действия описанные в разделе: Стандартная установка рабочего места
Для нижеприведенных файлов путь установки:
C:\Programs\RSlight
Установить Oracle XE Client
, файл OracleXEClient_10.2.1013.exe
Из папки с установленным Oracle Client XE
нужно скопировать файлы:
msvcr71.dll
oci.dll
oraocixe10.dll
После копирования файлов OracleXE Client
можно удалить.
Нужно скопировать все файлы и папки Common
и Старик
.
Должно получится следующее:
Common
Старик
RSadmin.exe
RSlight.exe
RSlight_DB_Inst.exe
VieweRIC.exe
Vieweric.hlp
XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = RSlight)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) ) )
В этом файле задается протокол PROTOCOL
адрес сервера HOST
и порт PORT
на котором он работает и имя сервиса SERVICE_NAME
Для ограничения доступа администратора служит механизм привязки к железу (MAC-адрес сетевой карты, идентификатора жесткого диска и т.д.).
Данные хранятся в таблице WORKSTATIONS
и в реестре: поле fvLPSW
раздела [HKEY_LOCAL_MACHINE\SOFTWARE\Фирма «РиКо»\RS_Light\FADM32]
Этот механизм не работает под Wine !
Итак, для работы RSadmin
необходимо выполнить привязку ПК, для этого нужно запустить RSlight_DB_Inst.exe
База данных | XE |
---|---|
Схема базы данных | DBEMPTY |
Пароль администратора комплекса | Пароль БД DBEMPTY |
Если есть необходимость запускать программу непосредственно исполняемым файлом RSlight.exe
, то делать это необходимо с ключом /ask
RSlight.exe/ask
SELECT OWNER_ID FROM OWNERS WHERE OWNER_NAME = 'TELECOM';