账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
客户资源管理系统
 

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

浏览人次:【5408】

最近公司在库房管理上出现一点小问题,由于之前都是由人工方式利用 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.1.HK84T1Q11VASTACUK1
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw