防犯や防災時に役立グッズが多数 「備えて安心グッズのお店」
お得なわけあり商品を多数取り揃え 「訳ありお得館」
厳選デジタルグッズのお店 「おもしろデジモノのデジモノ屋」
厳選食品お取り寄せのお店 「まんぷく屋」
美と健康を考えるお店 「La beaut」
レポートのログオンを自動化する。 ― 2010年10月21日 15時20分57秒
学籍のレイアウト通りにデータを出力することは
ほぼできました。表示位置の微調整などは必要なのですが、
それはまた行うとして、実装にむけての問題があと2つ残っています。
一つは、CrystalReportで学籍情報を表示する際、パスワードを入力しないと
接続できません。
調べたところ、セキュリティ上の問題から、パスワードは保存できないように
なっているそうです。
でも実運用ではパスワードの入力をその都度行うわけにはいかないので、
パスワードの入力をしなくても動くようにする必要があります。
もう一つは、データの抽出です。
生徒単位の抽出やクラス単位での抽出を行う必要があるのですが、
Web画面からどのように設定するのかを調べる必要があります。
以上の2つを調べる必要があるのですが、まずは一つ目のパスワードの設定を
調べてみました。
相変わらず情報が少なめで苦労したのですが、CrystalReportのサンプルを参考に
解決しました。
もっとも参考というよりも丸ごとコピーなのですが・・・(*^_^*)
学籍印刷用のファイルは、「gakuseki1.aspx」と「gakuseki1.aspx.vb」に
分かれていて、コードは「gakuseki1.aspx.vb」です。
以下はコードの中身です。
*********************************************
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Web
Partial Class _Default
Inherits System.Web.UI.Page
<=== 追加した内容
Private Sub ConfigureCrystalReports()
Dim reportPath As String = Server.MapPath("レポートファイル")
CrystalReportViewer1.ReportSource = reportPath
Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
SetDBLogonForReport(myConnectionInfo)
myConnectionInfo.ServerName = "サーバー名"
myConnectionInfo.UserID = "ユーザー名"
myConnectionInfo.Password = "パスワード"
End Sub
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
ConfigureCrystalReports()
End Sub
Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo)
Dim myTableLogOnInfos As TableLogOnInfos = CrystalReportViewer1.LogOnInfo
For Each myTableLogOnInfo As TableLogOnInfo In myTableLogOnInfos
myTableLogOnInfo.ConnectionInfo = myConnectionInfo
Next
End Sub
ここまで ===>
End Class
*********************************************
<=== ===>ではさまれている部分が追加したところです。
サンプルをコピーして必要なところを変更しています。
変更箇所は上から2行目
Dim reportPath As String = Server.MapPath("レポートファイル")
カッコ内です。レポートファイルを入力するので、作ったレポートファイルの名前に変更します。
サンプルでは、「NorthwindCustomers.rpt」になっているのですが、作成したファイル名にします。
その下、ビューワーも合わせる必要があります。
CrystalReportViewer1.ReportSource = reportPath
「gakuseki1.aspx」ファイルを確認し、「CrystalReportViewer1」の部分を変更します。
「SetDBLogonForReport」のところも同じように変更します。
あとは、サーバー名、ユーザー名、パスワードを自分の環境に合わせて変更します。
これで実行させれば、レポートがダイレクトに表示されました。
ほぼできました。表示位置の微調整などは必要なのですが、
それはまた行うとして、実装にむけての問題があと2つ残っています。
一つは、CrystalReportで学籍情報を表示する際、パスワードを入力しないと
接続できません。
調べたところ、セキュリティ上の問題から、パスワードは保存できないように
なっているそうです。
でも実運用ではパスワードの入力をその都度行うわけにはいかないので、
パスワードの入力をしなくても動くようにする必要があります。
もう一つは、データの抽出です。
生徒単位の抽出やクラス単位での抽出を行う必要があるのですが、
Web画面からどのように設定するのかを調べる必要があります。
以上の2つを調べる必要があるのですが、まずは一つ目のパスワードの設定を
調べてみました。
相変わらず情報が少なめで苦労したのですが、CrystalReportのサンプルを参考に
解決しました。
もっとも参考というよりも丸ごとコピーなのですが・・・(*^_^*)
学籍印刷用のファイルは、「gakuseki1.aspx」と「gakuseki1.aspx.vb」に
分かれていて、コードは「gakuseki1.aspx.vb」です。
以下はコードの中身です。
*********************************************
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Web
Partial Class _Default
Inherits System.Web.UI.Page
<=== 追加した内容
Private Sub ConfigureCrystalReports()
Dim reportPath As String = Server.MapPath("レポートファイル")
CrystalReportViewer1.ReportSource = reportPath
Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
SetDBLogonForReport(myConnectionInfo)
myConnectionInfo.ServerName = "サーバー名"
myConnectionInfo.UserID = "ユーザー名"
myConnectionInfo.Password = "パスワード"
End Sub
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
ConfigureCrystalReports()
End Sub
Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo)
Dim myTableLogOnInfos As TableLogOnInfos = CrystalReportViewer1.LogOnInfo
For Each myTableLogOnInfo As TableLogOnInfo In myTableLogOnInfos
myTableLogOnInfo.ConnectionInfo = myConnectionInfo
Next
End Sub
ここまで ===>
End Class
*********************************************
<=== ===>ではさまれている部分が追加したところです。
サンプルをコピーして必要なところを変更しています。
変更箇所は上から2行目
Dim reportPath As String = Server.MapPath("レポートファイル")
カッコ内です。レポートファイルを入力するので、作ったレポートファイルの名前に変更します。
サンプルでは、「NorthwindCustomers.rpt」になっているのですが、作成したファイル名にします。
その下、ビューワーも合わせる必要があります。
CrystalReportViewer1.ReportSource = reportPath
「gakuseki1.aspx」ファイルを確認し、「CrystalReportViewer1」の部分を変更します。
「SetDBLogonForReport」のところも同じように変更します。
あとは、サーバー名、ユーザー名、パスワードを自分の環境に合わせて変更します。
これで実行させれば、レポートがダイレクトに表示されました。
コメント
トラックバック
このエントリのトラックバックURL: http://n-box.asablo.jp/blog/2010/10/21/5429978/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。