苏州阊胥路北大青鸟 北大青鸟苏州阊胥路标准化校区
  书香社区·书香博客·联系我们  
全国免费电话:400-888-1050
 
首页 | 新闻动态 | 学校介绍 | 课程详解 | 师资力量 | 学习园地 | 就业广场 | 开发技术 | 校区招聘
  在线报名 在线留言  
   
您的位置:首页 - .NET技术  
使用vb.net获取报表服务器上的报表(一)  
2009-10-30  发布人:殷振华  浏览次数::

        在日常工作中,企业通常需要更新报表服务器上的报表内容,但是又不想丢失原来的报表内容,所以在更新报表内容之前需要保存以前的报表,今天就来讲解一下如何使用vb.net利用CrystalReport提供的API获取报表服务器上的内容及所有的Instance,并以XML的形式保存在本地。
    Vb.net是.NET平台的一个组成部分,作为微软的一个重要产品,其继承并实现了.NET平台所提供的所有功能,例如:方便的XML操作,便捷的文件操作等等,今天我们要用到的就是流文件读写和XML文件的操作。
    CrystalReport在报表界的声望如同微软在操作系统的声望,它提供的很多API,为二次开发提供了很多便捷之处,特别是它提供了对.NET平台的支持,使其本身增色不少,同时企业和程序员的选择余地又增加了不少,今天我们要用的API包括:CrystalDecisions.Enterprise,CrystalDecisions.Enterprise.Desktop.Folder, CrystalDecisions.Enterprise.Desktop.Server,

CrystalDesisions.Enterprise.Viewing.ReportSource.CrystalEnterpriseLib,CrystalPluginMgrLib.有了这些API,我们就可以利用他们提供的方法,对CrystalReport服务器做各项操作,我们一步一步的走下去。
    第一步:登录系统服务器.
    首先我们一起来看一下程序的主界面。
    
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

主界面主要包括这么几个部分:登录服务器部分,主要包括项目服务器,验证的类型,登录用户和登录用户密码,这几个字段的值,也是登录CrystalReport服务器的必须值;查询报表Instance部分,根据用户输入的报表名称,查询具体的报表的Instance,并将名称显示在ListBox中;选择要导入项目服务器的报表部分,功能把用户选择的Instance名称显示在listBoX中,同时将内容保存在 ListBox的Tag中。
    登录服务器用到的API是:LogonTokenMgr,EnterpriseService,SessionMgr,InfoStore.
    首先验证登陆用户的信息是否合法,如果用户合法,则进行登录。验证用户合法性并登陆的代码如下:
   
Private Sub RSSessionHandling()
        'Enterprise variables
        Dim ceTokenMGR As LogonTokenMgr
        Dim ceEnterpriseService As EnterpriseService
        Try
           
ceSessionmgr = New SessionMgr
            ceEnterpriseSession = ceSessionmgr.Logon(m_strLogonUser, m_strPassword, m_strServerName, m_strAuthentication)
            ceEnterpriseService = ceEnterpriseSession.GetService("", "InfoStore")
            ceInfoStore = New InfoStore(ceEnterpriseService)
            m_strLogonToken = ceEnterpriseSession.LogonTokenMgr.CreateLogonTokenEx("", 480, -1)
            ceLogOnFlag = True
        Catch ex As Exception
            MessageBox.Show(ex.ToString(), "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1,                                                                                               MessageBoxOptions.DefaultDesktopOnly)
            Throw
        End Try
    End Sub
利用上面得代码功能,就可以实现验证登陆用户合法性并登陆系统服务器的功能,其中有几个注意点:1.首先必须创建一个SessionMgr,其功能是保存当前用户的登录信息;2.利用我们刚刚创建的SessionMgr,登录服务器,此时需要主界面上的几个关键值,传入这几个关键值;3.获取服务器信息。关键代码见高亮代码。

 
上一篇:中国惠普有限公司
下一篇:IBM请辞“最受尊敬企业”
 
设为首页 | 加入收藏 | 联系我们 | 联系站长 | 友情链接
报名咨询:0512-65566661 65566662   备案许可证号:苏ICP备09076008号
地址:苏州市阊胥路483号创元科技园6号楼1层(干将西路友通数码港向北100米)
交通路线:6、7、7路区间、64、70、88、262、300、303、304、307、318、332、333、333路龙池专线、
522、800、921、932、949.(小日晖桥北站)
 
在线客服
在线客服系统