[OS]WIN2000(SP4)
[開発]Visual Studio .Net 2003 /言語 VB.Net
現在、VB6からVB.NETへの移行の為の調査を行っております。
VB6においては、クリレポ8で作成されたレポートに対し、
VB側からConnectプロパティを使用し、印刷をしておりました。
DBの接続先は、Oracle8iでした。
.Netでもこれと同じようにやりたいと思い、色々試しているのですが、
接続情報の渡し方が分からず、印刷できません。
この時、表示されるエラー内容は以下のようなものでした。
"このレポートに使用されているデータベース ドライバは、この製品でサポートされていません。"
接続情報が正しく引き渡せていないからだと思うのですが、Helpを見ても解決策が見えてきませんでした。
もし、接続情報の渡し方をご存知の方がおられましたら、よろしくご教授願います。
以下に、抜粋ではありますが、ソースを記載いたします。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
Imports CrystalDecisions
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
Private crDoc As ReportDocument = New ReportDocument
Private crConn As ConnectionInfo = New ConnectionInfo
・・・(中略)・・・
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim crSubDoc As ReportDocument
With crDoc
.Load("P:\PC\ASPC\Category.rpt")
.SetDatabaseLogon("usr", "pwd", "svr", "")
.Database.Tables(0).LogOnInfo.ConnectionInfo.UserID = "usr"
.Database.Tables(0).LogOnInfo.ConnectionInfo.Password = "pwd"
.Database.Tables(0).LogOnInfo.ConnectionInfo.ServerName = "svr"
crSubDoc = crDoc.OpenSubreport("Sub1")
crSubDoc.SetDatabaseLogon("usr", "pwd", "svr", "")
crSubDoc.Database.Tables(0).LogOnInfo.ConnectionInfo.UserID = "usr"
crSubDoc.Database.Tables(0).LogOnInfo.ConnectionInfo.Password = "pwd"
crSubDoc.Database.Tables(0).LogOnInfo.ConnectionInfo.ServerName = "svr"
.SetParameterValue(0, "TITLE;TITLE;TRUE")
.SetParameterValue(1, "KIKAKU;KIKAKU;TRUE")
End With
With CrystalReportViewer1
.SelectionFormula = "{Table1.Field10} = '" & "KEY_SAMPLE" & "'"
.ReportSource = crDoc
End With
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
.Netもオブジェクト指向も初心者であるため、不可解な部分があるかと思います。
ただHelpを参照し、SetDatabaseLogonやConnectionInfoオブジェクトが
接続情報を渡すものかなと思い、使用しています。
クリスタルレポートビューアを最後に使用しているのは、選択式として渡すのに
相当するメンバがそこにしか見つからなかった為です。
良い方法をご存知の方がおられましたら、ご教授願います。
ツイート | ![]() |