cmp是通过容器访问数据源的。:)你的数据源要在容器中注册并有自己的jdni。这样cmp就可以访问了啊。

解决方案 »

  1.   

    是不是在这里?  
      <cmpresource>
          <ds-jndi-name>jdbc/petstore/PetStoreDB</ds-jndi-name>
          <default-resource-principal>
            <name>estoreuser</name>
            <password>estore</password>
          </default-resource-principal>
        </cmpresource>
    cmp访问的是不是这里配置的一个jndi的数据源?
    那么在j2ee自带的服务器中如何配置一个jndi的数据源呢?web.xml中吗?
      

  2.   

    呵呵,你要用一个weblogic之来的服务啊。我用的是jb+weblogic+oracle先在weblogic中配好datasource,里面就有要你配jndi的地方。然后写好cmp,再deploy进weblogic中。然后启动server,cmp就可以被client访问了。你可以查一些weblogic配置cmp的资料。:)
      

  3.   

    你得有一个服务器,就想楼上说的那样。把EJB发布到服务器上才能正常运行。
    数据源是根据JNDI访问的
      

  4.   

    学习CMP之前,建议最好学一下BMP。:)