0

当我执行 Java 程序以创建和发布关系连接时,出现错误:

com.sap.sl.sdk.authoring.internal.AuthoringException:获取连接驱动程序列表 {0} 时出错。(SLS 16002)

我的代码如下:

 public class createnewuser {
   /**
    * @param args
    */
   public static void main(String[] args) {
   // TODO Auto-generated method stub

    String CMS      = "WIN-SADERTL72LE:6400";
    String userID   = "administrator";
    String password = "zxscdfv";
    String auth     = "secEnterprise";

   IEnterpriseSession enterpriseSession;
    try
    {
        ISessionMgr mySessionMgr = CrystalEnterprise.getSessionMgr();
        enterpriseSession = mySessionMgr.logon(userID, password, CMS,auth);

        if (enterpriseSession != null)
        {//Create and store useful objects for the session.

            SlContext context;
            context = SlContext.create();

            context.getService(CmsSessionService.class).setSession(enterpriseSession);
            CmsResourceService service = context.getService(CmsResourceService.class);

            String tempFolder = "c:\\Temp\\";

            String user     = "cms_boxi4";                  // dbconnection.getParameter(DatabaseConnection.USER_NAME).getValue();
            String pwd      = "zxcdfgh" ;                           
            String dbmsName = "MS SQL Server 2008" ;        //dbconnection.getParameter(DatabaseConnection.DBMS).getValue();
            String ntwkName = "OLE DB Providers" ;          //dbconnection.getParameter(DatabaseConnection.NETWORK_LAYER).getValue();
            String connName = "WIN-SADERTL72LE" ;           //dbconnection.getParameter(DatabaseConnection.DATASOURCE).getValue();
            String dbName   = "cms_boxi4";
            String connectionName = "SDKTestRelationalConn";

            com.sap.sl.sdk.authoring.connection.ConnectionFactory connectionFactory;
            connectionFactory = context.getService(com.sap.sl.sdk.authoring.connection.ConnectionFactory.class);

            RelationalConnection connection = connectionFactory.createRelationalConnection(connectionName, dbmsName, ntwkName);

            connection.getParameter("DATASOURCE").setValue(connName);
            connection.getParameter("DATABASE").setValue(dbName);
            connection.getParameter("USER_NAME").setValue(user);
            connection.getParameter("PASSWORD").setValue(pwd);

            System.out.println("Passo 4");
            com.sap.sl.sdk.authoring.local.LocalResourceService localResourceService = context.getService(com.sap.sl.sdk.authoring.local.LocalResourceService.class);
            localResourceService.save(connection, tempFolder + connectionName + ".cnx", true);
            service.publish(tempFolder  + connectionName + ".cnx", "/Connections" , true);

            }
            enterpriseSession.logoff();

    }
     catch(Exception e)
    {
         e.printStackTrace();
    }

}

}

出错的行是:

RelationalConnection connection = connectionFactory.createRelationalConnection(connectionName, dbmsName, ntwkName);

任何帮助表示赞赏。

最良好的问候,

乔丹

:)

4

1 回答 1

1

该错误与 64Bit JVM 有关,现在使用 32Bit JVM 它的作品!

非常感谢,
MJ :)

于 2017-03-09T16:36:33.860 回答