SiteFactory标签解析大揭秘(三)

作者:动易网络 来源:本站原创 点击数: 发布时间:2008年07月30日

 各位泡饭们好,从上一节开始我介绍的是关于不同种类数据源在标签中的应用,本节我们将继续这个话题,不过整合的目标系统我们换个新鲜的,通达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标准接入,标签的制作方法也大同小异,笔者也不在一一演示,从下节开始,我们回到系统本身继续揭密。