帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
客戶資源管理系統
 

【作者: 葉華裔】   2000年10月01日 星期日

瀏覽人次:【5406】

最近公司在庫房管理上出現一點小問題,由於之前都是由人工方式利用 EXCEL 來管理,使得設備的管理使用上非常不便,常常不知道庫房還有那些設備,有時設備被借了一年多沒歸還還不知道等許多問題。


在有了上述的問題之後,想想我們應以何種方式來解決這問題與完成所需的功能。難道真的需要 Outsourcing 一套 Application 嗎?為考量經費、符合公司需求與未來的擴充性,決定自行建制,盡量以模組化來設計以因應未來的擴充,並且在使用者介面上不會因系統的升級而必須有所更改或重新撰寫,最終目的是建立現今所謂類似 ERP/CRM/SCM 的簡易系統。當然這只是一個非常簡潔的系統,但優點是1.花費少;2.針對公司需求設計;3.是由 Application來配合公司運作,而不是因導入一個新系統,使得整個公司必需更改流程以配合新系統;4.模組化設計,以利未來擴充。因此在架構上,我們以三層模式來完成,第一為後端資料儲存之Database,第二則以 Web Server 為主,利用 CGI 的方式來存取後端 Database 的模組化主程式,第三則為 Browser-Based 使用者介面。因此使用者可在任何作業平台,使用任何的Browser(如 Netscape、IE 等)來存取,請參考(圖一)。


《圖一 》
《圖一 》

在資料庫的選擇上,市面上有太多可供選擇,許多還不用花大筆金錢,例如 Oracle for Linux、Sybase for Linux、Informix for Linux、IBM DB2 for Linux、postgresql、mysql, 與 minisql 等。當然在資料庫的選擇上有許多的考慮因素,但由於筆者想先在自己的Win98 機器上實作,若有需要再 porting到 Unix 或 WinNT 上,因此選擇了在 Win98/NT/Unix 上都支援並且免費的 mysql 資料庫(註一);而 Web Server則直接使用 Win98 的 Personal Web Server(註二);在 CGI 程式上, 則選擇使用 PHP(註三), PHP 實在是非常強大的 Scripting Language,不僅可用在 Win98/NT/Unix,還支援大部份的 Database;你可直接使用它,或者像大部份的人一樣當做是 CGI 程式介面。


而這次所介紹的是整個系統的一小部分 - 客戶資源管理,當然我們也可把它拿來當成電話簿管理系統。


事前準備

先從網路上下載 php-3.0.16-win32.zip 與 mysql-win32.zip,因為在測試階段,所以我們把 Database、PWS,與 PHP 全部安裝在同一台 Win98 上。


首先先確定 Personal Web Server 已經安裝,再來解壓縮php-3.0.16-win32.zip,並將 php.exe 拷貝至 c:\windows,將 php3.ini-dist 拷貝成 c:\windows\php3.ini,拷貝所有的 *.dll 檔案至 c:\windows\system。


修改 php3.ini, 其部份內容如下:


;;;;;;;;;;;;;;;;;;;;;;;;;


; Paths and Directories ;


;;;;;;;;;;;;;;;;;;;;;;;;;


include_path = ; UNIX: "/path1:/path2" Windows: "\path1;\path2"


doc_root = ; the root of the php pages, used only if nonempty


user_dir = ; the directory under which php opens the script using /~username


;upload_tmp_dir = ; temporary directory for HTTP uploaded files


upload_max_filesize = 2097152 ; 2 Meg default limit on file uploads


extension_dir = c:\windows\system ; directory in which the loadable extension


;;;;;;;;;;;;;;;;;;;;;;


; Dynamic Extensions ;


;;;;;;;;;;;;;;;;;;;;;;


;Windows Extensions


extension=php3_mysql.dll


;extension=php3_calendar.dll


;extension=php3_dbase.dll


;extension=php3_gd.dll


;extension=php3_dbm.dll


;extension=php3_mssql.dll


;extension=php3_zlib.dll


;extension=php3_filepro.dll


;extension=php3_imap4r1.dll


;extension=php3_ldap.dll


;extension=php3_crypt.dll


;extension=php3_msql2.dll


;extension=php3_odbc.dll


最主要要指出 DLL檔案所在的目錄,在這裡是 c:\windows\system; 還有把 mysql 的支援打開。


畫出程式架構圖

我們先想一下這個電話簿所應具備的基本功能,如(圖二)。最基本功能應提供:電話列表、新增、刪除、修改、搜尋。


《圖二 電話簿程式架構圖》
《圖二 電話簿程式架構圖》

資料庫安裝

1.安裝 Mysql database:

將 mysql-win32.zip 解壓縮之後, 執行 SETUP.EXE 來安裝 Mysql.


2.執行 Mysql:

c:\>cd \mysql\bin


c:\mysql\bin>mysqld


現在測試一下 mysql 是否成功載入。


c:\mysql\bin>mysqlshow


+-----------+


| Databases |


+-----------+


| mysql |


| test |


+-----------+


如果看到下面的訊息即表示 mysqld 沒有成功載入。


ERROR 2003: Can't connect to MySQL server on localhost (10061)


3.新增一個 Database

c:\mysql\bin>mysqladmin create warehouse


Database "warehouse" created.


4.定義所需的 table entry

每一個電話欄位最少應包括姓名、公司名、電話號碼、分機號碼、行動電話號碼、傳真號碼、公司地址,與email address。為索引方便起見,我們為每一 entry 設立獨一之 ID,所以此電話簿的 table 如下:


table phone (


tid int AUTO_INCREMENT primary key,


name char(30) NOT NULL,


comapny char(30),


tel char(20),


ext char(10),


mobile char(20),


fax char(20),


address char(100),


email char(30)


);


C:\mysql\bin>mysql warehouse


Welcome to the MySQL monitor. Commands end with ; or \g.


Your MySQL connection id is 5 to server version: 3.21.29a-gamma-debug


Type 'help' for help.


mysql>create table phone (


->tid int AUTO_INCREMENT primary key,


->name char(30) NOT NULL,


->comapny char(30),


->tel char(20),


->ext char(10),


->mobile char(20),


->fax char(20),


->address char(100),


->email char(30)


->);


Query OK, 0 rows affected (0.33 sec)


mysql>quit


看看我們所建的新資料庫:


C:\mysql\bin>mysqlshow


+-----------+


| Databases |


+-----------+


| mysql |


| test |


| warehouse |


+-----------+


看到一個新的 Database - warehouse:


C:\mysql\bin>mysqlshow warehouse


Database: warehouse


+----------+


| Tables |


+----------+


| phone |


+----------+


C:\mysql\bin>mysqlshow warehouse phone


Database: warehouse Table: phone Rows: 1


+---------+-----------+------+-----+---------+----------------+


| Field | Type | Null | Key | Default | Extra |


+---------+-----------+------+-----+---------+----------------+


| tid | int(11) | | PRI | 0 | auto_increment |


| name | char(30) | | | | |


| company | char(30) | YES | | | |


| tel | char(20) | YES | | | |


| ext | char(10) | YES | | | |


| mobile | char(20) | YES | | | |


| fax | char(20) | YES | | | |


| address | char(100) | YES | | | |


| email | char(30) | YES | | | |


+---------+-----------+------+-----+---------+----------------+


C:\mysql\bin>


OK!證明成功了。


應用MySqlManager管理資料庫

當然我們也可使用 Mysq-win32 內附的圖形化管理介面程式來管理資料庫 - MySqlManager.EXE(圖三)。


《圖三 MySqlManager管理介面程式》
《圖三 MySqlManager管理介面程式》

經由 MySqlManager -> Tools 工具項 -> SQL Query 功能,我們也可直接執行 SQL Command,如(圖四)(圖五)所示。


《圖四 》
《圖四 》

結論

在這種架構下,要實作備援是比較簡單可行的,但在此篇文章中筆者無法深入討論有關備援方面的問題,因為在一個真正的系統架構下,可能需要考慮到資料庫備援、伺服器備援、線路備援、網路設備備援,其實是有點複雜的。


若只是單純的只需電話的管理系統,使用 LDAP 也是一個非常方便的方式,尤其現階段許多的網路設備都可結合 LDAP 做網路資源管理,下次將為大家介紹 LDAP service 與電話簿管理系統,並且專文介紹 LDAP 如何與 網路設備整合在一起,以提供進階的網路服務。


註一:Mysql 可從 http://www.mysql.com/ download, 其他 Database 請參考相關網站。


註二:Apache Web Server 也有 win95/98/NT 版,PWS 的安全功能稍差,所以若想使用 win98, 但又想兼顧安全性,可考量改採 Apache. http://www.apache.org/。


註三:PHP windows 版可從 http://www.php.net/ download。雖然 PHP 現已推出 4.0 版,但因為4.0 版中沒看到可支援 mysql 的程式庫,所以建議使用 PHP 3.x 版。


(作者為Alcatel技術經理,聯絡信箱為santayeh@ms32.hinet.net;本文另有實作程式,因限於篇輻未便刊載,完整版將於本社網站刊出)


相關文章
高效能與低功耗雙軌併進 工業MCU注入智能工廠新動能
體現智慧與MES的雲端移轉
電子與傳統產業跨界醫材轉型
經AOI蒐集全製程資訊 加速傳產數位化轉型
軟體結合生管流程客製化
comments powered by Disqus
相關討論
  相關新聞
» AI浪潮來襲!伺服器面臨高熱密度挑戰 Vertiv協助矽谷主機代管商在既有機房突破散熱瓶頸
» 宜鼎AIoT策略佈局新篇章
» 仁大資訊Booster5讓小店家也能做在地行銷
» 中國國家郵政局:春節京東物流量佔比最大
» 貿協攜eBay打造臺灣館助MIT產品跨境銷全球


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.117.182.179
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw