使用Java数据库连接到Siebel将永远挂起

时间:2017-05-30 14:14:41

标签: java siebel

您好以下是我编写的示例代码:

import com.siebel.data.*;
import com.siebel.data.SiebelException;

public class DataBeanDemo
{
   private SiebelDataBean m_dataBean = null;
   private SiebelBusObject   m_busObject = null;
   private SiebelBusComp       m_busComp = null;

   public static void main(String[] args)
   {
      DataBeanDemo demo = new DataBeanDemo();
   }

   public DataBeanDemo()
   {
      try
      {
         m_dataBean = new SiebelDataBean();

         m_dataBean.login("Siebel://devServerXYZ:7777/XYZ/
          ecommunication_enu", ROSADMIN, ROSADMIN, "enu");

         System.out.println("Connected");

         m_busObject = m_dataBean.getBusObject("Opportunity");

         m_busComp = m_busObject.getBusComp("Opportunity");

         m_dataBean.logoff();
      }

      catch (SiebelException e)
      {
         System.out.println(e.getErrorMessage());
      }
   }
}

此代码执行时没有问题,但卡在m_dataBean.login()。永远不会回来。

可能是什么问题?

如果我尝试更改连接字符串(甚至端口名称,从7777到任何其他数字,如2320,2321),则会收到错误could not open a session in 4 attempts SBL-JCA-00200

1 个答案:

答案 0 :(得分:0)

要验证的3件事

  1. 连接字符串中的参数。 Gtway服务器名称,OM comp名称,端口号等(用户名/密码错误立即显示,但其他人抛出一般错误或永久挂起)
  2. (这是Siebel特有的)确保Java子系统配置文件具有指向siebel.jar和siebelJI_lang.jar文件的类路径
  3. Siebel服务器已启动并正在运行。
  4. 如果LDAP为true,则无法使用Databeans使用此类登录。

    就我而言,它是1& 2,那是造成问题的原因。顺便说一句Comp名称区分大小写。