SiteFactory标签解析大揭秘(三)
各位泡饭们好,从上一节开始我介绍的是关于不同种类数据源在标签中的应用,本节我们将继续这个话题,不过整合的目标系统我们换个新鲜的,通达OA怎么样!
那么,本节主题就是“如何通过SiteFactory调用通达OA的内部数据”。
关键字:通达OA ODBC数据源访问
一 通达OA
通达OA,现在很常见的一种OA系统,是基于PHP+MYSQL平台编制运行的一套企业办公解决方案,目前也提供试用版本下载,网址是。本节选用它作为示例的原因是,它是一个基于MYSQL数据库的软件系统,正好可以满足我们每节一个不同种类数据源的示例要求。
而且通达OA使用了ZEND加密,算不上是开源系统,这使得广大用户对它进行二次开发变得比较麻烦。不过嘛,既然被SiteFactory瞄上了,咱们就一定有办法把它整合进来。
二 ODBC数据源标签
ODBC,是微软给出的一种通用的数据源方案,SiteFactory通过ODBC接口,可以读取很多不同数据库的内容,使用了这种数据接口的标签,我们把它称为ODBC数据源标签。
ODBC数据源,是统一在控制面板/管理工具中的
此主题相关图片如下:
图标内进行管理,管理界面如下图
三 数据接口
为了使系统内的ODBC可以读取MYSQL数据库,我们需要安装一个名为MySQL ODBC Driver的驱动程序,这里请注意,ODBC并不仅仅可以读取MYSQL数据库,基本上所有的数据库它都可以通过不同的驱动程序进行统一读取,比如SYBASE,ORACLE等大型数据库也可以通过安装对应的驱动程序读出来。MYSQL的ODBC驱动在MYSQL官方网站就有下载,在此不在赘述。
最新的5.1版mysqlODBC驱动下载地址:
本节例子使用的3.51版下载地址:
四 添加数据源
首先点击系统DSN右侧的“添加”按钮,出现界面如下,请按图示选择MYSQL驱动:
单击完成后,出现MYSQL连接配置界面如下:
其中Data Source Name可任意命名,Server为数据库实际所在IP,User与Password为数据库连接用户名和密码,通达OA的默认用户名是root密码是myoa888,全部设置正确后,点击Database后面的下拉菜单,会出现数据表列表,我们选择TD_OA,如果上面设置错误,则会弹出错误警告,设置完成后,单击OK结束设置,我们可以看到,增加的名为OA的数据源就已经出现在列表中:
五 增加数据标签
首先,我们制作一个简单的OA新闻读取标签意思一下,那么OA系统中,我们需要先增加新闻若干条:
然后进入SiteFactory的后台,增加一个标签如下:
其中数据源连接字串的设置很简单,就是DSN=第四步时配置的数据源名称。
进入标签查询设置时也有两个很重要的地方需要注意:
1 由于ODBC可以读取任意的数据库,但每个数据库使用的SQL语法不尽相同,而系统自动生成的SQL语句为标准的TSQL语句,这里就需要针对每种不同的数据语言进行修正。
比如系统会自动生成语句如下
Select top 10 * from news
而正确的MYSQL查询方式应该修改为如下
Select * from news limit 10
2 由于我们需要整合的系统表各不相同,需要我们在整合前对通达OA系统的数据表有一定的分析,做起标签来才能得心应手,比如本例中需要读取OA里的新闻表,通过资料查找,我可以判定news这个表就是通达OA的新闻存储表,如下图
最后编辑标签模板就很容易了,可以视自己的实际需要进行输出,比如
到这里标签就编辑结束了,记得最后保存标签。
六 添加标签到模板
这部分很简单,随便放到哪个页面的任意位置即可
七 关于高级开发
所谓标签的高级开发,实际上就是综合应用上面介绍的这些简单技术,根据自己的实际需求,去进行有针对性的开发。
比如这里增加的是OA新闻列表,同样道理,OA的公告也可以很容易的加到网站中显示,如果用户对通达OA的数据结构十分熟悉,甚至可以利用它后台的自定义表单功能做更加复杂的开发。
可能有朋友说,你上面这个例子太简单了,就显示个新闻什么的一点意义都没有。是的,列表标签虽然是最简单的,但实际上开发更复杂,更高级的操作时,都是从这个简单的标签开始,逐步深化,比如SQL中增加更多的约束条件,标签中增加更多的判断和样式,甚至编写程序等,这都需要我们在后面的揭密系列文章中逐步深入的去了解和实践。
八 关于其他数据源
SiteFactory支持的数据源种类很多,但只对MSSQL,Oracle,ACCESS,EXCEL,XML这几种数据源提供了具体的接口,其他种类的数据库都通过ODBC或者OLE标准接入,标签的制作方法也大同小异,笔者也不在一一演示,从下节开始,我们回到系统本身继续揭密。