C#BI查询问题

2020-09-16 02:06发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好,

我正在尝试用C#编写一个函数,该函数将返回查询大小。

使用:

  • Visual Studio 2015社区版(ver 14.0.25431.01 Update 3)
  • Microsoft .NET Framework 4.6.01590

下面是一个简单的函数,该函数应返回处于"正在运行"状态且已运行一个小时以上的实例数。

使用的程序集:

  • BusinessObjects.Enterprise.Sdk-版本14.0.2000.0
  • BusinessObjects.Foundation.Logging-版本14.0.2000.0
使用BusinessObjects.Enterprise.Framework;
 使用BusinessObjects.Enterprise.Infostore

 静态无效checkBOv2()
 {
 字符串username =" Administrator";
 字符串密码="密码";
 字符串cmsname =" CMSNODE1:6400";
 字符串authType =" secEnterprise";
 现在的字符串= DateTime.Now.ToString(" yyyy.MM.dd.HH:mm:ss");
 然后字符串= DateTime.Now.AddHours(-1).ToString(" yyyy.MM.dd.HH:mm:ss");
 字符串查询="从CI_INFOOBJECTS,其中SI_INSTANCE = 1且SI_SCHEDULE_STATUS = 3且SI_STARTTIME BETWEEN'之间选择SI_PID,然后+"'AND'" +现在+"'";

 IEnterpriseSession ceSession = null;
 ceSession = CrystalEnterprise.GetSessionMgr()。Logon(用户名,密码,cmsname,authType);

 尝试
 {
 IInfoStore iStore =(IInfoStore)(ceSession.GetService(" InfoStore")));
 IInfoObjects queryResult = iStore.Query(query);
 int querySize = queryResult.ResultSize;
 Console.WriteLine(querySize);
 }
 捕获(异常e)
 {
 ceSession.Logoff();
 Console.WriteLine(e);
 }
 最后
 {
 如果(ceSession!= null)ceSession.Logoff();
 }
 } 

此刻我收到两个错误:

 log4net:ERROR XmlHierarchyConfigurator:
 无法创建类型为[BusinessObjects.Foundation.Logging.Log4net.RollingFileAppender,BusinessObjects.Foundation.Logging,版本= 12.0.0.0,文化=中性,PublicKeyToken = 692fbea5521e1304]的Appender [A1]。
 报告错误如下。
 System.IO.FileLoadException:无法加载文件或程序集" BusinessObjects.Foundation.Logging,版本= 12.0.0.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304"或其依赖项之一。
 找到的程序集的清单定义与程序集引用不匹配。
 (来自HRESULT的异常:0x80131040)文件名:'BusinessObjects.Foundation.Logging,版本= 12.0.0.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304'

设法通过将以下配置信息添加到App.config中来解决上述错误:

 
 
 
  

即使文件位于bin文件夹中,我也无法解决的第二个错误:

未处理的异常:System.TypeInitializationException:'BusinessObjects.Enterprise.Security.Internal._LogonEx3Proxy'的类型初始化程序引发了异常。  ---> System.IO.FileLoadException:库
 ld不会加载文件或程序集" BusinessObjects.Enterprise.Sdk.Ssl.netmodule"或其依赖项之一。 动态链接库(DLL)初始化例程失败。  (来自HRESULT的异常:0x8007045A)
    在System.RuntimeTypeHandle.GetTypeByName(字符串名称,布尔throwOnError,布尔ignoreCase,布尔反射Only,StackCrawlMarkHandle stackMark,IntPtr pPrivHostBinder,布尔loadTypeFromP
 artialName,ObjectHandleOnStack类型)
    在System.RuntimeTypeHandle.GetTypeByName(字符串名称,布尔throwOnError,布尔ignoreCase,布尔反射Only,StackCrawlMark&stackMark,IntPtr pPrivHostBinder,布尔loadTypeFromPartia
 lName)
    在System.RuntimeType.GetType处(字符串typeName,布尔throwOnError,布尔ignoreCase,布尔反射Only,StackCrawlMark和stackMark)
    在System.Type.GetType(String typeName)
    在BusinessObjects.Enterprise.Security.Internal._LogonEx3Proxy..cctor()
    ---内部异常堆栈跟踪的结尾---
    在BusinessObjects.Enterprise.Security.Internal._LogonEx3Proxy..ctor(IProxyHandler处理程序)处
    在BusinessObjects.Enterprise.Security.Internal.LogonService.ensureServiceStub()
    在BusinessObjects.Enterprise.Security.Internal.LogonService.userLogon处(字符串用户,字符串密码,字符串身份验证)
    在BusinessObjects.Enterprise.Security.Internal.SecurityMgr.userLogon处(字符串用户,字符串密码,字符串aps,字符串socksURI,字符串集群,字符串身份验证)
    在BusinessObjects.Enterprise.Framework.Internal.SessionMgr.Logon处(字符串用户,字符串密码,字符串cmsName,字符串身份验证)
 

我在tomcat Web应用程序中以.asp的形式工作,并且运行成功,但是使用了不同的库。 (我在C#中使用了错误的库?)

 <%@页面import =" com.crystaldecisions.sdk.framework.CrystalEnterprise"%>
 <%@页面import =" com.crystaldecisions.sdk.framework.IEnterpriseSession"%>
 <%@页面import =" com.crystaldecisions.sdk.occa.infostore.IInfoObject"%>
 <%@页面import =" com.crystaldecisions.sdk.occa.infostore.IInfoObjects"%>
 <%@页面import =" com.crystaldecisions.sdk.occa.infostore.IInfoStore"%>
 <%@页面import =" com.crystaldecisions.enterprise.ocaframework。*"%>