維克系統建置
準備安裝套件
解壓 O10x86.exe BC1609.exe 及安裝的管理系統如 FO1609.exe、HR1609.exe、PI1609.exe …,在執行後述的工作前先準備好,解壓縮的路徑預設為 D:\VICSYS。
安裝系統的主程式如下
- VicConfig.exe 維克系統建置程式 (D:\VICSYS\Config)
-
依據安裝步驟,一步一步安裝。
- VicSystems.exe 維克管理系統安裝程式 (D:\VICSYS\VICInstall)
-
一鍵安裝,安裝管理系統及安裝資料庫用戶端。
依據「維克系統建置程式」的配置,分發至用戶電腦。
維克系統建置程式
資料服務器設置及安裝系統資料庫,設定管理程式連接資料庫參數。
1.安裝資料庫用戶端
執行「維克系統建置程式」(D:\VICSYS\Config\VicConfig.exe)
維克系統建置需要資料庫用戶端才能運作。安裝資料庫用戶端實際上是執行「維克管理系統安裝程式」。
2.設置資料服務器
Oracle XE 安裝時預設字元集為英文,建置程式將修改資料服務器字元集、調整資料服務器參數及 Tablespace。
- 設定本機資料服務器組態
-
調整 listener.ora。僅限資料服務器在本機 (電腦) 執行,資料服務器版本為 Oracle Database Express Edition 11g 或 18c,並安裝於 D:\oraclexe 資料夾。
- 資料服務器監聽器位置(Listener Address)
-
應採用區域網路位置 (LAN IP),該位置應固定。
監聽器位置未改變的情況下仍需執行。 程式判斷本機監聽器正常運作時才允許執行,若監聽器異常請參閱 ORA-12541 。 - 資料服務器初始化
-
修改資料服務器字元集、調整資料服務器參數及 Tablespace。
- 這裡為什麼又有「資料庫位置」、「資料庫連接埠」?
-
因為是「資料庫用戶端」,設定值應跟「本機資料服務器組態」相同。
改變字資料庫元集,僅適用於初始安裝,若已建立資料庫,不應再改變。
3.安裝系統資料庫
安裝維克系統資料庫,必須先安裝「共用資料庫」(只需安裝一次),再安裝管理系統資料庫。
共用資料庫安裝
設定資料庫密碼為 BC1810 的密碼。(不是資料服務器 SYS 跟 SYSTEM 的密碼)。
維克系統建置程式,可解碼您設置系統資料庫的密碼設定檔 VicConfigUser.ini,若需要可於建置後移動至安全儲存區。
管理系統資料庫安裝
當您在準備安裝元件的章節中,若有安裝各式系統則該系統選項會啟用。
建立 FO1810 資料庫,需要共用資料庫 (本例為 BC1810) 及 密碼 (本例為 vicsys)。
您已設定好建置資料庫的組態,在按「下一步」前,若需要安裝範例,請勾選「範例資料庫」。
- 自訂匯入說明
-
匯入現有的資料庫備份 (.dmp) 檔案,於本步驟中自訂匯入檔。
管理系統自訂匯入設置- 匯入檔案帳戶
-
如匯出是採用 EXPUSER 帳戶匯出 FO1810 如下範例,那麼「匯入檔案帳戶」設定為 FO1810 。
EXP EXPUSER/USERCANEXPORT@XE FILE=FO1810.DMP OWNER=FO1810
匯入時出現下列訊息而資料已匯入可忽略。
IMP-00034: 警告: 匯出檔中找不到 FromUser "FO1810" 已順利終止匯入作業, 但含有警告.
4.管理程式連接設定
建置好系統資料庫後,設定好程式連接資料庫參數以便程式能連接資料庫。
試用單機版,請勾選 IPC 連接。
按 下一步 後,將產生 VMC.ini 檔案,如下範例。
[DataBase]
UserName=FO1810
Password=資料庫密碼加密字串
DataBaseName=(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))(CONNECT_DATA=(SID=XE)))
5.管理程式同步設定
本設置的目的為設定多人同步環境,當程式有更新時自動分發 (選項功能)。
在多人環境中「網路分享資料夾」為系統程式共用資料夾,其方式是在用戶端電腦在開機時,自動同步系統程式。另外在「開始」的
VIC Systems 功能表中,亦加入「維克系統更新(無等待)」的功能,用戶可隨時自行更新。
本步驟設定完成後,在未完成「系統程式同步設定」之前安裝的電腦,必須再次執行 VicSystems.exe 維克管理系統安裝程式,以便配置「自動同步」的功能。 |
如果按 下一步出錯,表示在 Windows 中的共用使用者或共用資料夾未設定正確。
- 出錯示例
-
依據 網路分享資料夾錯誤 來處理。
上述設置完成後,回到「維克系統建置程式」,按 下一步 應該顯示 執行完成。
7.問題集
- 不知怎麼了,出現了「ORA-12541: TNS:沒有監聽器」的錯誤。
-
設定本機資料服務器組態時,不小心操作錯誤!又好像是改變電腦名稱的問題。
您可以試著手動修復,先停止監聽器 (可忽略錯誤)。
註:Windows 10 執行 Windows PowerShell (系統管理員),習慣用 cmd.exe?那麼需要建立 cmd.exe 捷徑, 並啟用「以系統管理員身份執行」,「以系統管理員身份執行」下列才能正常運作。D:\oraclexe\app\oracle\product\11.2.0\server\bin\lsnrctl stop
修改下列檔案。(「以系統管理員身份執行」下列)
notepad D:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\listener.ora
將 $HOST$ 改為電腦名稱或 IP,$PORT$ 修改為 1521。
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oraclexe\app\oracle\product\11.2.0\server) (PROGRAM = extproc) ### ADD (ENVS="EXTPROC_DLLS=C:\VICRUN\VICORA32.dll;C:\VICRUN\VICORA64.dll") ### ADD ) (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\oraclexe\app\oracle\product\11.2.0\server) (PROGRAM = extproc) ) ### ADD (SID_DESC = (SID_NAME = XE) (ORACLE_HOME = D:\oraclexe\app\oracle\product\11.2.0\server) ) ### ADD ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = $HOST$)(PORT = $PORT$)) (1) ) )
1 若電腦區域網路的 IP 為 192.168.1.2,那麼內容為 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521)) 接著,執行下列命令。
D:\oraclexe\app\oracle\product\11.2.0\server\bin\lsnrctl start
顯示結果如下
... Default Service XE Listener Parameter File D:\oraclexe\app\oracle\product\11.2.0\server\network\a dmin\listener.ora Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521))) Services Summary... Service "CLRExtProc" has 1 instance(s). Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... Service "XE" has 1 instance(s). Instance "XE", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
若無法啟動「監聽器」,請重開機。
維克管理系統安裝程式
使用者電腦第一次安裝時須執行「維克管理系統安裝程式」,安裝管理系統及資料庫用戶端。
依據「維克系統建置程式」的配置,分發至用戶電腦。
多人共用安裝
應在 AP (指儲存「管理資訊程式」的電腦) 的共用資料夾來安裝。 |
系統主程式參數
啟動設定檔
實際的主程式依據系統不同,如前檯系統為 FOVMC.exe,「啟動設定檔」預設為 (Windows 捷徑內容中的)「開始位置」內的 VMC.ini (可不需要設定)。
FOVMC.exe IniFile=啟動設定檔
可指定「啟動設定檔」為不同的檔案,IniFile 可為「絕對路徑」或「相對路徑」,「相對路徑」則為相對於「開始位置」的路徑。
如 IniFile=..\VMC.ini,則啟動設定檔在「開始位置」的上層。
註:主程式捷徑的「開始位置」一般情況為程式所在資料夾,資料夾內必須要有 VMC.db 檔案,若沒有該檔案將無法啟動。
Connect 參數
FOVMC.exe Connect=[資料庫帳戶][/資料庫密碼][@服務器位置]
連接資料庫的參數可由 Connect 來變更,不需要為了連接不同資料庫而建立不同的「啟動設定檔」,不過有指定「啟動設定檔」並不影響下列邏輯。
上述的 Connect 參數若不指定,則以「啟動設定檔」內的設定值為準,說明如下。
Connect=資料庫帳戶 IniFile=啟動設定檔 資料庫密碼、服務器位置為「啟動設定檔」設定值。 Connect=資料庫帳戶@服務器位置 資料庫密碼為「開始位置」內的 VMC.ini 設定值。 以下類推 Connect=@服務器位置 Connect=/資料庫密碼 Connect=/資料庫密碼@服務器位置
Connect 中的「資料庫密碼」不應在捷徑中直接設定,主程式會讀取「啟動設定檔」的密碼。 當資料庫密碼不同時應正規採用「啟動設定檔」,可使用 設定資料庫連接參數 來產生 VMC.ini 內的 Password=資料庫密碼加密字串。
連接資料服務器位置設定
除了由 Net Manager 程式所設定的服務命名之外,亦能採用 Easy Connect 語法。
@host[:port][/service_name] host 資料庫主機名稱或 IP 位置 port 資料庫監聽埠,預設為 1521。 server_name 資料庫的服務器名稱,「Oracle XE」服務器名稱為 XE。
FOVMC.exe Connect=@192.168.1.1:1521/XE 註:其中 1521 為預設值,可不需指定。
FOVMC.exe Connect=@(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))(CONNECT_DATA=(SID=XE)))
FOVMC.exe Connect=@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$HostName)(PORT=$Port))(CONNECT_DATA=(SERVER=dedicated)(SERVICE_NAME=$ServiceName))) $HostName,資料庫主機名稱或 IP 位置。 $Port,資料庫監聽埠,預設為 1521。 $ServiceName 資料庫的服務器名稱,「Oracle XE」服務器名稱為 XE。
手機服務器設置
本機電腦為「手機服務器」,其「服務埠」支援 IniFile 及 Connect。
ServerPort=port port 服務埠,預設為 211。
VMC.ini 說明
[VMC]
# 指定使用者設定檔
UserFile=C:\VICRUN\INI\FO_USER.INI
# 指定傳真、信件傳送及 RFID 的設備設定檔,可參考 Profile.ini 內的說明。
Profile=C:\VICRUN\INI\Profile.INI
# 新分頁中的圖檔,若要改變圖檔,可直接取代 StartImage.png 或改變 VMC.ini 檔案。
StartImage=StartImage.png
UserFile 跟 Profile 的資料夾跟主程式資料夾不同的主要原因;在於更新程式時將會同步程式資料夾(C:\VICRUN\MIS)。 UserFile 跟 Profile 可在不同電腦上個別設定,不受程式更新影響。
[DataBase]
# 下列兩個為資料庫驅動程式的設定,一般情況不需要去改。
DriverName=ORACLE
VendorLib=C:\VICRUN\O10x86\app\BIN\OCI.DLL
# 資料庫名稱 (Oracle User Name)
UserName=FO1810
# 資料庫密碼,由建置程式加密。
Password=資料庫密碼加密字串
# 資料庫位置,由建置程式設定。(本例即為前述的 IPC TNS Connect String)
DataBaseName=(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))(CONNECT_DATA=(SID=XE)))
[Server]
# 手機服務埠,預設值為 211
Port=211
使用者設定檔
實際檔案由 VMC.ini 檔案內的 [VMC] 區段 UserFile 來決定,如前述中 UserFile=C:\VICRUN\INI\FO_USER.INI。
[DataBase]
Character_Set=1 (1)
1 | 將資料庫字集轉換成本機電腦字集。 |
上述設定亦可由 VMC.INI 設定。
Character_Set 字集轉換
當資料庫字集跟本機電腦字集不同時,如正體中文作業系統讀取簡體中文資料庫,需設定資料庫轉換成用戶電腦的 (正體中文) 字集,該轉換工作是由資料庫來完成,應設定為「867 ZHT16MSWIN950」(正體中文) 或設定為 1 自動轉換。
Character_Set | Description |
---|---|
未設定 |
不轉換字集 |
0 |
不轉換字集 |
1 |
自動轉換,作業系統為簡體中文時轉換成 852,正體中文時轉換為 867,其他語言不轉換字集。 |
852 |
轉換成 ZHS16GBK 簡體中文 |
867 |
轉換成 ZHT16MSWIN950 正體中文 |
COL CHARACTER_SET FORMAT 9999
COL NLS_CHARSET_NAME FORMAT A30
select nls_charset_id(value) CHARACTER_SET, value NLS_CHARSET_NAME
from v$nls_valid_values
where parameter = 'CHARACTERSET'
order by nls_charset_id(value)
/
資料庫匯出
提供 _ExpDB7z.cmd 檔案,匯出時以手動或採用「工作排程」執行,請修改 D:\VICSYS\Config\DUMP\_ExpDB7z.cmd 以合乎需求。
REM _ExpDB7z.cmd
REM ------------------------------ Setting
REM Change $HOST$ to your database host name or IP.
REM ex. SET TNSCONN=EXPUSER/USERCANEXPORT@192.168.1.2:1521/XE
SET TNSCONN=EXPUSER/USERCANEXPORT@$HOST$:1521/XE (1)
SET Z7CMD="C:\Program Files\7-Zip\7z.exe" (2)
SET EXPCMD="C:\VICRUN\O10x86\app\BIN\EXP.EXE" %TNSCONN% STATISTICS=NONE GRANTS=N TRIGGERS=N
REM ------------------------------ NLS_LANG
REM Modify the NLS_LANG of the export database
SET NLS_LANG=AMERICAN_AMERICA.ZHT16MSWIN950 (3)
rem SET NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
MD temp
REM ------------------------------ Export database
REM Modify the database you want to export
%EXPCMD% FILE=TEMP\BC1810.DMP OWNER=BC1810
rem %EXPCMD% FILE=TEMP\FO1810.DMP OWNER=FO1810 (4)
rem %EXPCMD% FILE=TEMP\HR1810.DMP OWNER=HR1810
rem %EXPCMD% FILE=TEMP\PI1810.DMP OWNER=PI1810
rem %EXPCMD% FILE=TEMP\AC1810.DMP OWNER=AC1810
rem %EXPCMD% FILE=TEMP\FA1810.DMP OWNER=FA1810
for /f "tokens=2 delims==" %%G in ('wmic path win32_localtime get dayofweek /value') do set _DOW=%%G
DEL DUMP%_DOW%.7z
CD temp
%Z7CMD% a ..\DUMP%_DOW% *.dmp
CD ..
DEL temp\*.dmp
RD temp
REM ------------------------------ Copy .7z to another path
rem COPY DUMP%_DOW%.7z \\SomeServer\SomePath (5)
1 | 將 $HOST$ 改為資料服務器的電腦名稱或 IP,資料庫監聽埠預設為 1521,「Oracle XE」服務器名稱為 XE。 |
2 | Z7CMD 為 7Z 壓縮程式於 7-Zip 繁體中文版官方網站 下載。 注意!64 位元作業系統若安裝 32 位元 7z,請修改為 SET Z7CMD="C:\Program Files (x86)\7-Zip\7z.exe" |
3 | 正體中文字集為 ZHT16MSWIN950 簡體為 ZHS16GBK |
4 | 按您安裝的系統資料庫匯出。 |
5 | 請修改成複製至其他電腦或其他實體硬碟。 |