发信人: tyj() 
整理人: (2000-05-29 20:10:09), 站内信件
 | 
 
 
用IBM Net.data 解决CAD图纸等大对象问题 
 苏州供电局信息中心 
 唐一均 
 ---- IBM Net.data是IBM在web上的一种中间件,以往的CGI方式是在服务器端应 每个客户端请求而产生各个进程,当使用人数大量增多时,响应速度就会明显下 降,Net.data则是长驻服务,执行效率更高,编写以脚本为主并支持Java, REXX , Perl 和 C++等开发语言,使得开发更快更方便,Net.data和ASP(Active Serv er Page)有类似之处,但较ASP除支持NT外支持更多平台,如linux、Solaris、A IX、AS/400、OS/390、OS/400等,而目前而言UNIX等平台比NT要稳定很多,而且 Net.data的平台之间的移植性相当好。从性能上看Net.data也支持高性能的Fast CGI,如果需要应用于电子商务等数据流量大而重要的领域,Net.data就显的更为 适合, 1998年的冬奥会期间使用了Net.data,网上流量达到每分钟110,414次, Net.data还是运行良好, 所以虽然现在有很多种方式可以实现web与db2之间的数 据交换,但是基于各类综合性能全面考虑,我们更乐意用Net.data方式解决一些 问题。 
 
 ---- 为了让大家有个直观的了解,下面简单介绍一个用Net.data方式解决的基于 web、db2的cad图纸的查询与显示的实现方法,假使您和您的同事正致力于飞机制 造和设计,或是正在为建造一个大厦而设计图纸,那么成堆的图纸就可以通过这 样的方式简便的查询到,并同时被您和您的同事所利用,应该在此声明的是,Ne t.data不仅只是能做一些查询工作,它提供的是完整的SQL语言的支持,也就是说 可以通过它输入,删除,更新数据,也许有人会担心Net.data实现方式的安全问 题,Net.data它可被安装于很多操作系统和很多web server,您尽可以挑选您认 为比较安全的系统,而且您可以在安装Net.data的web server上安装db2 CAE,由 CAE去取存放于另一台服务器上的db2数据,更有很多方法限于篇幅问题,在此不 祥述了。 
 
 ---- 请您先访问下面地址下载net.data。 
 
 ---- http://www.software.ibm.com/data/net.data/downloads.html 
 
 NT上安装好Net.data以及IBM UDB 5.2,
 假定NT服务器地址是172.23.160.6。
 用UDB控制中心或UDB命令行处理器
 中新建一个数据库名为:tyjdb
     连接到数据库tyjdb
 connect to tyjdb user userid using password;
     新建一个放大对象的表,表名为 cadtable;
 create table pictable (name varchar(30) not NULL,
                   photo BLOB(2M),
 primary key (name)
                   );
 
     把大对象输入到数据库tyjdb中的表cadtable中。
 Lob_in是文本文件,
 import from lob_in.txt of del
         modified by lobsinfile
 	method p(1,2)
 	messages imp_lob.msg
 	insert_update  
 	into cadtable(
         name,
         photo	
 	);
 lob_in.txt中的内容假定为:
 -----------------------
 "CAD图纸1",t1.dwf,
 "CAD图纸2",t2.dwf
 -----------------------
 
 ---- t1.dwf和t2.dwf应放在db2命令行省缺目录下,而且应该小于2M, 然后在db 2命令行窗口中运行上面的import语句,两张大对象图片就插入了表中,如果您愿 意,也可用delphi编小段程序把图片插入表中。 
 ---- 在NT服务器端Net.data安装目录下的macro目录中新建文本pic.d2w作为将要 运行脚本。 
 
 -----------------------------------------
 %DEFINE{
 DATABASE="tyjdb"
    LOGIN="userid"
    PASSWORD="password"
 docroot="c:\inetpub\wwwroot\tmplobs\"
 rename2= %EXEC "rename 
 c:\inetpub\wwwroot\tmplobs\@DTW_rDELSTR
 ($(V2), "1", "9") @DTW_rDELSTR($(V2), "1", "9").dwf"
 %}
 
 %FUNCTION(DTW_SQL) queryData() {
 SELECT name,photo FROM pictable
 %REPORT{
 < center >< P >CAD图档管理系统< P >
 <  center  ><  a href="http://172.23.160.6/whip31.exe"  >
 看cad图纸前请先下载并安装autodesk 公司的whip.exe<  /a  ><  br  >
 <  br  >
 下面是从DB2库中查询到的结果
 <  br  >
 <  br  >
 %ROW{
 $(rename2)
 <  center  >$(V1)
 <  a href="$(V2).dwf"  >看具体图纸<  /a  ><  br  ><  br  >
 %}
 %}
 %}
 
 %HTML(REPORT){
 <  body bgcolor="#FFFFF0"  >
 @queryData()
 %}
 
 ---- 下一步就是在浏览器上显示CAD图纸了,一般我们可以选择很多控件,因为 dwf文件显示速度越是显示dwg的七倍,所以在这里假设我们使用Autodesk公司的 whip!您可以访问http://www.autodesk.com/products/whip/index.htm 下载它, 每个浏览器用户只需要安装whip,就可以直接用浏览器观看任何dwf文件了,netd ata在处理大对象时,sql语句用db2中取出BLOB对象即dwf格式的cad图纸,并不给 它原来的文件名,而是给它一个临时文件,而且没有后缀名,并省缺的把它保存 到你web server的根目录的tmplobs目录下,如果你用IIS的话,一般就在C:\ine tpub\wwwroot\tmplobs下,而在已经安装了whip的浏览器端,如果最后返回的文 件不是dwf后缀的话,就不能正常显示dwf文件,所以我们最后要把这些文件改一 下文件名,上面脚本中@DTW_rDELSTR($(V2), "1", "9")意思是把变量$(V2)从第 一个字符到第九个字符全删除,因为$(V2)本身值是类似/tmplobs/???的字符串, 当脚本执行NT外部命令rename时,“/”应该是“\”,所以要把“/”全删除,如 果您用基于AIX或Linux的Net.data的话,就不用担心了,另外,如果您的大对象 是Net.data认识的jpg或gif等文件类型的话,就不用改名字了。 
 ---- 现在您就可以打开浏览器输入URL,如果您都按省缺配置的话,应该输入,h ttp://172.23.160.6/cgi-bin/db2www.exe/pic.d2w/report 就可以看到两张cad 图片在网页上显示出来了。 
 
 ---- 以上是Net.data显示查询CAD图纸等大对象的例子,您可以把它利用到电子 商务的商品图片显示等等方面,最后,建议大家在使用BLOB时多考虑一下系统性 能。您可以访问以下网站获取更多有用信息: 
 
 ---- http://www.software.ibm.com/data/net.data/ 
    免 费 订 阅  
 实用技巧分类
  
 Office应用 
 CAD 
 C、C++ 
 数据库应用 
 Delphi  
 Internet应用 
 Java 
 Notes应用 
 操作系统应用 
 PowerBuilder 
 VB 
 Visual Foxpro 
 其他类 
 上周 排行榜 
 如 何 投 稿 ? 
 
  
 
 在日常的工作生活中,我们对计算机软硬件技术的应用开发肯定有许多的心得体 会,拿来和众人分享:让别人得到他们想要的,使自己找到苦苦寻觅的;小的点 点滴滴,大的工程系统,这里都需要。投稿 的关键在“技巧”二字,知他人所不 知,这样的稿件本栏最最欢迎! 大家公认的 好文章自然会有好的奖励。希望每个 人在这里都有所收获... 
 
 
 
   中国惠普
   3Com中国
   Motorola中国
   联想科技
   CA中国
   Cabletron
   Sony在中国
 
  
  
 
 ---------------------------------------------------------------------- ----------
 
 中国计算机世界出版服务公司版权所有 
  -- 身处不同的环境,思维就会有所不同,如果你能摆脱这种局限,不为自己局限的思维束缚,那就是最有智慧的人?BR> ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.106.102.99]
  | 
 
 
 |