开源GIS实验田

OpenSource GIS Space

  • 内容导航

  • 最新评论

    • Gao Ang: 这将是一次开源GIS百科全书式的大会 ...
    • SHG: 恭喜恭喜 希望到时有更多国外的专...
    • Gao Ang: 这个示例可以搜索指定位置500m范围内...
    • suan: 你好,我想請問你GOOGLE MAPS API的問題 ...
    • Gao Ang: 静态地图现在支持用户自定义图标,...
  • 热门主题

  • 随机阅读

    • 2012 年二月
      « 十二    
       12345
      6789101112
      13141516171819
      20212223242526
      272829  
    • Gao Ang

      GaoMiao's Portrait
      有了理想
      就不要寻找放弃的理由

      站点搜索

    • 只言片语

      青年时光是最富于敏感性的。 ——加里宁

    OGSA-DAI的JDBC驱动

    9th 六月 2009

    作者: Gao Ang 可以转载,请以超链接标明原始出处和作者信息及版权声明
    网址: http://www.gaoang.com/archives/128

    OGSA-DAI:JDBC驱动,是OGSA-DAI网格中间件客户端工具的拓展项目,符合Sun JDBC接口v2.0规范,用以帮助开发者通过符合JDBC标准的Java代码与数据服务资源交互。

    通常情况下,在DAI安装与数据服务资源部署之后,需要运行环境变量设置脚本setenv.sh加载依赖类库,即可以在命令提示符下,使用DAI自带的SQLClient客户端向服务转入SQL脚本并执行数据资源查询。查询时需要指定的参数包含:服务资源URL地址,数据资源ID(代表与哪个数据源建立连接),以及SQLQuery查询串。

    但以命令行方式使用OGSA-DAI客户端,在与网格数据服务交互方面并不方便,OGSA-DQP提供了针对分布式查询的GUI客户端,帮助使用者添加查询计划,并生成OQL查询解析树。但如果计划将已有JDBC应用数据源迁移到DAI服务之上,使用OGSA-DAI:JDBC驱动则更灵活,开发者可以通过一般JDBC的处理方式,操作DAI上部署的各类数据服务,甚至可以使用Hibernate或JPA等ORM层,来构建DAI:JDBC之上的实体关系映射。

    OGSA-DAI:JDBC驱动目前最新为0.1版本,在使用时首先需要加载JDBC Metadata Activity,来帮助DAI:JDBC获取后端关系型数据库的元数据信息。之后需要将MetaDataMethodActivity部署在OGSA-DAI中,并设置已有DAI Resource关联新部署的Activity。重启服务容器之后,在dai-manager.jsp监控页面中,就可以看见刚部署的Activity出现在DAI Resource下的行为列表中。

    在OGSA-DAI:JDBC驱动编码方面,首先通过语句Class.forName(“br.usp.pcs.lahpc.ogsadai.jdbc.Driver”); 来告知JVM查找并加载指定的JDBC驱动类,之后通过DriverManager.getConnection(“jdbc:ogsadai://localhost:8080/wsrf/services/dai/datasource”); 语句指定访问服务的URL地址和数据资源名称,接下来便可以用JDBC的方式通过PreparedStatement来传入待执行的SQL串,调用execute()函数执行查询,并通过getResultSet()函数获取数据库查询后的结果集。

    实际测试中,发现OGSA-DAI:JDBC驱动目前还存在一些问题,与作者邮件联系后确认:驱动对直接在Globus Container中部署的DAI服务支持良好,但如果Globus WS Core和DAI部署在Tomcat中,需要在添加DAI:JDBC依赖项的同时,添加一堆额外的DAI SQLClient运行库,才可以保证代码正常执行。目前版本还在不断修正之中,感兴趣的开发者可以关注OGSA-DAI:JDBC的后续版本。

    2 Responses to “OGSA-DAI的JDBC驱动”

    1. 网友 Says:

      空间数据网络处理服务模型及关键技术 这篇文章好像还没出来啊,我在杂志上没找到

    2. Gao Ang Says:

      文章刊出时间延后了,应该是在10月份左右吧

    Leave a Reply

    XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>