1

私はswingアプリケーションで使用する次のコードを持っています:

    ReportClientDocument rpt =  new ReportClientDocument();
    rpt.open(reportPath+"APVendorList.rpt", 0);
    rpt.getReportSource();


    ReportViewerBean viewer = new ReportViewerBean();
    viewer.init(new String[0], null, null, null);
    //viewer.setHasGroupTree(false);
    viewer.setReportSource(rpt.getReportSource());

問題は、jframeを使用してレポートを読み込もうとすると、常にログイン資格情報を要求することです。

Database Logon:
Server Name: Localhost
Database Name: <blank and cannot be edited>
User ID:
Password:

レポートを表示するたびにこれらの情報を入力しない方法はありますか?または、java.sql.Connectionを渡すことができますか?また、どのデータベースに接続するかがわからないようです。助けてください。

4

1 に答える 1

2

次のように、プロパティ値を設定できます。

ReportClientDocument clientDoc = new ReportClientDocument();
....
DatabaseController dbController=clientDoc.getDatabaseController();
IConnectionInfo ConnInfo = dbController.getConnectionInfos(null).getConnectionInfo(0);
com.crystaldecisions.sdk.occa.report.lib.PropertyBag boPropertyBag1 = new com.crystaldecisions.sdk.occa.report.lib.PropertyBag();
// Set the properties for the connection
boPropertyBag1.put("JDBC Connection String", connString);
boPropertyBag1.put("Database Class Name", dbClassName);
boPropertyBag1.put("Connection URL", connString);
boPropertyBag1.put("Server", serverHost);
....
// Assign the properties to the connection info
ConnInfo.setAttributes(boPropertyBag1);
// Set the DB Username and Pwd
ConnInfo.setUserName(usrName);
ConnInfo.setPassword(pwd);

お役に立てれば...

于 2012-05-18T03:49:14.920 に答える