@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

CrystalReportsのデータベース接続先変更について

1
投稿者投稿内容
おか
常連さん
会議室デビュー日: 2003/01/31
投稿数: 25
投稿日時: 2003-01-31 23:09
初めまして。過去にも同内容についての書き込みがありましたが
同様にコーディングしたのですがうまくいきません。
実現したいことは
デザイン時に設定したデータベース情報を実行時には違うDBサーバー上の
同じデータベース名、同じテーブルに設定を変更しレポート印刷を行いたいのです。
開発環境と実行環境が違ってもアプリケーションの変更をやめていのです。
うまくいかないこと
ビューワーを貼り付けているフォームの起動時に以下のコーディングを行いました。
----------------------
CrystalReportViewer1.ReportSource = レポートファイル.rpt CrystalReportViewer1.LogOnInfo.Item(tablename).ConnectionInfo.ServerName=_
DBservername
CrystalReportViewer1.LogOnInfo.Item(tablename).ConnectionInfo.UserID = "sa"
CrystalReportViewer1.LogOnInfo.Item(tablename).ConnectionInfo.Password = ""
CrystalReportViewer1.LogOnInfo.Item(tablename).ConnectionInfo.DatabaseName_
=DBNAME
CrystalReportViewer1.LogOnInfo.Item(tablename).TableName = tablename
CrystalReportViewer1.LogOnInfo.Item(L_TabStr).ReportName = ""
rptObj.Database.Tables.Item(L_TabStr).Location = DBNAME & ".dbo." & tablename
rptObj.Database.Tables.Item(L_TabStr).ApplyLogOnInfo(LogOnInfo)
---------------------------------------
上記のようなコーディングを行い実行すると Locationの行で
以下のエラーメッセージがでます。
*******************************************************
'CrystalDecisions.CrystalReports.Engine.InvalidArgumentException' のハンドルされていない例外が crystaldecisions.crystalreports.engine.dll で発生しました。

追加情報 : ファイル C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\temp_2ca7bae3-d912-49ca-bdd1-61de6a496bcf.rpt のエラー :
テーブル番号が無効です。
*******************************************************
ちなみにlocationの行をコメントにするとエラーはおきないですが
当然、接続先はかわっていません。
OS:Windows2000 Professional(SP3)
VB.NET
.NET FrameWork(SP2)
CrystalReportsはバンドル版です。
申し訳ありませんがよろしくお願いします。
おか
常連さん
会議室デビュー日: 2003/01/31
投稿数: 25
投稿日時: 2003-02-06 00:36
自己レスです。
結局、DataSetを使って解決しました。
asahi
会議室デビュー日: 2004/06/28
投稿数: 17
投稿日時: 2004-06-29 15:23
検索を行っていて見つけました。
私も今同じエラーに悩まされています。
よろしかったら、そのDatasetを使う方法を教えていただけませんか?
大分前なので忘れられているかと思いますが、よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)