何らかの理由で、SAPWebサイトにはさまざまなSDKがリストされています。適切と思われるものをすべて試しましたが、どれをインストールしても、CrystalServerCMSに接続してそのデータベースのレポートにアクセスするために必要なアセンブリが見つかりません。
私が具体的にやろうとしているのは、WindowsServer2003マシンでホストされていたCrystalServer11CMSを照会した古いVBASP.NETアプリケーションを書き直すことです。現在、CrystalServer2011をWindowsServer2008 R2マシンにインストールしていて、これをC#および.NET 4.0に切り替えたいのですが、アセンブリがないため、その環境でコードを使用するのに問題があります。
元のファイルに含まれていたインクルードリストは次のとおりです。これで、私が探しているものを確認できます。
Imports CrystalDecisions.Enterprise
Imports CrystalDecisions.ReportSource
Imports CrystalDecisions.Enterprise.Viewing
Imports CrystalDecisions.Enterprise.Dest
Imports CrystalDecisions.Enterprise.Desktop
Imports CrystalDecisions.ReportAppServer.Controllers
Imports CrystalDecisions.ReportAppServer.ClientDoc
Imports CrystalDecisions.ReportAppServer
Imports CrystalDecisions.Web
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
そしてこれは、CMSからレポートをフェッチするために使用された元のコードのアプローチです。
Dim mySessionMgr As SessionMgr = New SessionMgr
Dim myEnterpriseSession As EnterpriseSession = mySessionMgr.Logon("XX", "XX",
"XX", "secEnterprise")
Dim myEnterpriseService As EnterpriseService =
myEnterpriseSession.GetService("InfoStore")
Dim myInfoStore As InfoStore = New InfoStore(myEnterpriseService)
myEnterpriseService = myEnterpriseSession.GetService("RASReportFactory")
Dim rrfObject As Object = myEnterpriseService.Interface
Dim myReportAppFactory As ReportAppFactory = CType(rrfObject, ReportAppFactory)
Dim queryString As String = "Select SI_ID From CI_INFOOBJECTS " _
& "Where SI_PROGID='CrystalEnterprise.Report' " _
& "And SI_NAME Like '" & ReportID & "'"
Dim myInfoObjects As InfoObjects = myInfoStore.Query(queryString)
Dim myInfoObject As InfoObject = myInfoObjects(1)
myReportClientDocument = New ReportClientDocumentClass
myReportClientDocument = myReportAppFactory.OpenDocument(myInfoObject.ID, 0)
このアプローチが、関連するソフトウェアの現在のバージョンで使用するのに最適かどうか、または同じ効果を達成するためのより良い方法があるかどうかはわかりません。このアプローチがまだ正しい場合、これらのアセンブリにアクセスするためにインストールする必要があるSDKファイルについて誰かが提案を持っていますか?