MyEclipse+WebSphere 通过 JNDI 连接 Sybase 简介

该文参考了 :

1.  IBM WebSphere Application Server V5.1 System Management and Configuration - WebSphere Handbook Series

2.  moyunhe   在 http://www.matrix.org.cn 发表的 WebSphere 中流行数据库连接池的配置 (Oracle 、 SQL Server 、 Sybase 、 MySQL), 该文地址 :      http://www.matrix.org.cn/thread.shtml?topicId=30665&forumId=40

3.  MyEclipse 网站的一篇文档,该文地址 : http://www.myeclipseide.com/Articles/WebSphere5.1LogConfiguration/WAS5.1LogConfiguration.html

 

软件环境 :eclipse V3.1.1, MyEclipse V4.1.1 Build id: 20060309-4.1.1-GA, Sybase ASE 12.5 字符集 : iso_1, WebShpere 5.1 中文版

 

A.         将 WebSphere5.1 的 log 重定向至 MyEclipse 控制台 ( 摘自 MyEclipse 帮助 ”Configuring WebSphere 5.1 Logging for MyEclipse”. 所以 WebSphere 是英文的 )

1.   打开指定 Server 的 Log 设置

a1.gif

2.    选择 JVM Logs

a2.gif

3.   设置 Output 和 Error Logs 到控制台 (Console), 之后点击确认 (OK) 按钮

a3.gif

4.   点击 Save

a4.gif

5.    点击 Save 按钮

a5.gif

B.         MyEclipse 中设置 WebSphere5.1 属性

1.    按下图请根据自己的具体环境设置

b1.gif 

2.    Jdk 设置必须指定 WebSphere 自带 jdk

b2.gif 

3.    如果安装了 MQ 需要以下设置,否则会在 MyEclipse 启动时由于找不到 bipmainw110.dll 而导致 MQ 启动失败

b3.gif 

4.   这些设置好之后就可以通过下图所示来启动 WebSphere, 启动日志应该显示在 eclipse 的控制台中

b4.gif 

C.         接下来设置 Sybase JDBC 和 JNDI

1.    点击  环境 -> 管理 WebSphere 变量 “( 下边 WebSphere 是自己公司的,所以是中文的 ) ,然后点击  新建  按钮

c1.gif

2.   点击右边的 ” SYBASE_JDBC_DRIVER_PATH ” ( 通常 Sybase 数据库的 JDBC 连接程序为 jconn2.jar ,根据 Sybase 版本不同可能存放于 /sybase/jConnect-5_5/classes/ 或是存放于目录 /sybase/Sybase Central 3.2/java/ 下 , 将具体的 jconn2.jar 所在路径指定给他们即可。 ) ,点击  确认  跳转页面后点击链接  保存  ,再次跳转页面后点击按钮  保存 ”( 注意 : 不是上边的链接,是下边的  保存 按钮,以后保存步骤简写为保存 )

c2.gif 

3.    之后点击  环境 -> 更新 Web 服务器插件  ,再点击  确定 ”( 当服务器、群集、 HTTP 传输或虚拟主机别名配置更改时,必须更新Web 服务器插件,这个后面也不再多说,反正服务器修改东西后没效果在这里更新一下,还不行重起 web 服务,再不行重起机器,最后还不行肯定是某个地方配置错了 ,google 上查查资料,或者看看 ” WebSphere Application Server V5.1 System Management & Configuration” 这本书。这本书英文版可以去 emule 上下载下来 , 书店里有卖中文的,网上似乎没有,我是在书店里发现有这本书才去emule 下的 ) 。

c3.gif 

4.    点击  资源 -> JDBC 提供程序  ,在打开的页面中点击  新建 ”( 图片中的 ”Sybase JDBC Driver” 是我已经建好的,不用理会 )

c4.gif 

5.    选择 ”Sybase JDBC Driver” ,确认后页面跳转。

c5.gif 

6.   可以在这里更改名称、描述,其它默认,然后再确定,最后保存。这时 Sybase JDBC 已设置好。

c6.gif 

7.   点击刚才建好的 Sybase JDBC 名称

c7.gif 

8.    点击  数据源 

c8.gif 

9.   点击  新建 ”( 下边图片中的 hq 是我已建好的不必理会 , 您的页面应该是什么都没有,要有东西说明见到鬼了 )

c9.gif 

10.    输入  名称  、 ”JNDI 名  后点击  应用 

c10.gif 

11.   点击下方的  定制属性  ,在打开的页面中按下图设置 JDBC 链接属性,没有的需要新建该属性。  连接池  需要根据自己实际情况设置。属性和连接池中的各项可以参考 ” WebSphere Application Server V5.1 System Management & Configuration” 这本书

c11.gif 

12.    保存后更新插件,之后需要重起 WebSphere 才生效。之后我们可以测试刚才的设置是否成功,测试成功表示 JNDI 已正确设置,否则可能数据库没有启动或者有些地方没有设置正确。

c12.gif 

D.        在 MyEclipse 中测试刚才设置的 JNDI 。

1.    新建 ” Enterprise Application Project ”

d1.gif 

2.   下一步后敲入项目名称,选择 ”J2EE 1.3”( 必须选择该项 , 否则生成的 application.xml 与 web.xml 格式是 J2EE1.4 的,WebSphere5.1 并不支持该格式,发布应用时会出错导致无法发布 ) 。 ”Define Ejb Project Modules” 就不用选了,我们没用 ejb

d2.gif 

3.    在 “ Create Web Project Module ” 上打勾

d3.gif 

4.   点击完成

d4.gif 

5.    在 test.pool 包中建类 TestPool ,在 WebRoot 下建 jsp: testjndi.jsp, 如下图 :

d5.gif 

6.   代码

 

test 表结构 :

 

CREATE     TABLE   dbo.test 
(
    name   varchar  (  60  )   NULL 
)

 

TestPool 类内容 :

 


   /*该代码借用了  moyunhe文章中的TestPool类,详细内容请见该文参考*/ 

/*
 * 创建日期 2005-11-5
 *
 * 更改所生成文件模板为
 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
   */ 
package   test.pool;

import   java.sql.Connection;
import   java.sql.ResultSet;
import   java.sql.SQLException;
import   java.sql.Statement;

import   javax.naming.Context;
import   javax.naming.InitialContext;
import   javax.naming.NamingException;
import   javax.sql.DataSource;

/** 
 *   @author   moyunhe
 *
 * 更改所生成类型注释的模板为
 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
   */ 
public     class   TestPool {
    
      private     static   Connection getConnection(String strConnPoolJndi)   throws   NamingException, SQLException  {
        Context ctx   =     null  ;
        ctx   =     new   InitialContext();
        DataSource ds   =   (DataSource)ctx.lookup(strConnPoolJndi);
        Connection conn   =   ds.getConnection();
        
          return   conn;
        
    }
    
      public     static   String getDBData(String strConnPoolJndi, String sql) {
        String strReturn  =  ""  ;
        Connection conn   =     null  ;
        Statement st   =     null  ;
        ResultSet rs   =     null  ;

          try   {
            conn   =   getConnection(strConnPoolJndi);
            st   =   conn.createStatement();
            st.executeUpdate(  "  delete test  "  );
            st.executeUpdate(  "  insert test(name) values('  "  +  sql  +  "  ')  "  );
            rs   =   st.executeQuery(   "  select name from test  "   );
            
              if   (rs.next()) {
                strReturn   =   rs.getString(  1  );
            }

        }
          catch   (Exception e) {
            e.printStackTrace();
            strReturn   =   e.getMessage();
        }
          finally   {
              try   {
                  if   (st   !=     null  ) {
                    st.close();
                    st   =     null  ;
                }
                  if   (rs   !=     null   ) {
                    rs.close();
                    rs   =     null  ;
                }
                  if   (conn   !=     null  ) {
                    conn.close();
                    conn   =     null  ;
                }
            }
              catch   (SQLException e) {
                e.printStackTrace();
            }
        }
        
          return   strReturn;
    }

}

 

 

testjndi.jsp 文件内容 :


 

<%  @ page language  =  "  java  "   contentType  =  "  text/html;charset=utf-8  "   pageEncoding  =  "  utf-8  "  %> 
<%  @page import  =  "  java.util.*  "  %> 

<!  DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  > 
<  html  > 
    <  head  > 
      <  title  >  My JSP 'MyJsp.jsp' starting page  </  title  > 
    </  head  > 
  
    <  body  > 
    世界杯.   <  br  > 
      <%  out.println(  "  SYBASE_JNDI:  "     +   test.pool.TestPool.getDBData(  "  jdbc/hq  "  ,  "  2006年德意志世界杯  "  ));  %> 
    </  body  > 
</  html  >

 

7.   游览器运行结果

d7.gif 

 

Sybase ASE 15.7 开发文档:Web 服务用户指南 第 1 部分 简介 第 1 章 了解 Adaptive Server Enterprise Web 服务 .......... 3 概述 .......... 3 Adaptive Server Enterprise Web 服务 .......... 4 ASE Web 服务的优点 .......... 4 存储过程和函数 .......... 4 SQL .......... 4 安全性 .......... 5 LDAP .......... 5 用户定义的 Web 服务 .......... 5 Web 服务标准 .......... 5 XML .......... 6 WSDL .......... 9 SOAP .......... 10 第 2 章 了解 ASE Web 服务引擎 .......... 13 Web 服务的生产者 .......... 13 生产者组件 .......... 14 生产者 Web 方法 .......... 15 用户定义的 Web 服务 .......... 15 Web 服务的使用者 .......... 16 使用者组件 .......... 17 代理表 .......... 18 第 2 部分 配置 第 3 章 配置 ASE Web 服务 .......... 21 配置 .......... 21 在安装期间进行配置 .......... 22 在安装完成后进行配置 .......... 22 许可 .......... 23 配置文件 .......... 23 ws.properties 文件 .......... 23 logging.properties 文件 .......... 23 wsmsg.properties 文件 .......... 24 安全性 .......... 24 配置 SSL .......... 24 为 Microsoft .NET 安装证书 .......... 26 第 3 部分 管理 第 4 章 使用 ASE Web 服务 .......... 29 使用 ASE Web 服务引擎 .......... 29 启动和停止 ASE Web 服务引擎 .......... 29 ASE Web 服务方法 .......... 31 使用 sp_webservices .......... 35 调用 Web 服务 .......... 38 使用用户定义的 Web 服务 .......... 40 用户定义的 Web 服务的命令 .......... 41 将 sp_webservices 与用户定义的 Web 服务一起使用 .......... 45 用户定义的 Web 服务的安全性 .......... 47 用户定义的 Web 服务的审计 .......... 48 ASE Web 服务日志记录 .......... 49 ASE Web 服务日志文件 .......... 49 转滚日志文件 .......... 50 使用 Sybase Central .......... 50 第 5 章 示例应用程序 .......... 51 Apache 示例客户端 .......... 51 创建示例客户端 .......... 51 使用 runexecute .......... 52 Microsoft .NET 示例客户端 .......... 55 创建示例客户端 .......... 56 使用 Execute.exe .......... 56 第 4 部分 故障排除 第 6 章 故障排除 .......... 61 故障排除问题 .......... 61 远程服务器类定义设置 .......... 61 未映射 RPC/ 编码 Web 方法 .......... 62 文档 / 文字结果被截断 .......... 62 启动 ASE Web 服务引擎 .......... 63 定位 WSDL .......... 63 指定 ws.properties 中的条目 .......... 63 Windows NT 命令行参数 .......... 64 运行或停止脚本失败 .......... 64 空口令 .......... 64 指定使用 SSL 的 SOAP 结束点 .......... 65 sp_webservices ‘add’ 异常终止 .......... 65 Web 服务代理表限制 .......... 65 sysattributes 表条目 .......... 66 诊断工具 .......... 66 详细记录 .......... 67 启用 JDBC 级跟踪 .......... 67 消息 .......... 68 第 5 部分 附录 附录 A 安装内容 .......... 73 ASE Web 服务目录树 .......... 73 bin 目录内容 .......... 74 lib 目录内容 .......... 74 logs 目录内容 .......... 75 producer 目录内容 .......... 75 props 目录内容 .......... 75 samples 目录内容 .......... 76 附录 B 配置属性 .......... 77 ws.properties .......... 77 myres.properties .......... 79 指定属性文件条目 .......... 80 附录 C SOAP 和 Adaptive Server Enterprise 的数据类型映射 .......... 81 数据类型映射 .......... 81 SOAP 到 ASE 数据类型映射 .......... 81 create service 命令的 ASE 到 SOAP 数据类型映射 .......... 84 词汇表 .......... 85 索引 ..........87
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值