1

私は、Sap Crystal Reports for Visual Studio を使用する ASP.NET (C#) のアプリケーションを持っています。VSでは、すべてが完璧に機能します。しかし、IIS にデプロイすると、「データベース ログオンに失敗しました」というエラーが発生します。CrystalReportViever を「データベース ログオン プロンプトを有効にする」に設定すると、ユーザー名とパスワードを要求され続けますが、エラーは生成されず、レポートも表示されません。テスト目的でのみ「データベース ログオン プロンプトを有効にする」を設定しています。それ以外の場合は、ReportDocument.SetDatabaseLogon(user, password, "my dsn name", "") によってログオン パラメータを送信します。繰り返しますが、VS ではすべてが完璧に機能します。私が使用している: - Windows 7 Enterprise 64 ビット - Visual Studio 2010 (C#) - Sap Crystal Reports、

あなたの答えを楽しみにしています。前もって感謝します。

4

6 に答える 6

4

うーん、オラクル。:) 通常、Crystal でシステム DSN を使用することはありませんが、Oracle の場合、接続することができた唯一の方法でした。思い出したように、Oracle の DSN がサーバーの「32 ビット ODBC データ ソース アドミニストレーター」でセットアップされていることを確認する必要があります。これが、Crystal 経由で Oracle を正常に接続できる唯一の方法です。

.Net (C# または VB) 経由の場合、それは別の話です。おそらくOracleのユーザー名/パスワードを使用して接続することになるため、この場合、App Pool IDは問題になるとは思いません。

私が答える質問の 90% は、Crystal Reports と接続情報の変更に関するものです。このブログ投稿で、私のために機能するラッパーで使用するコードがいくつかあります。

http://www.blakepell.com/2012-05-22-crystal-reports-extension-methods

ユーザー名はOracleユーザー名、パスワードはOracleパスワード、サーバー名はDSNの名前です。理由は聞かないでください。:p

于 2012-05-22T16:35:56.383 に答える
2

同様の問題/エラー メッセージがありました。CR は、運用サーバーを含むほとんどの PC で正常に機能しましたが、特定の 1 つの開発環境でのみ機能しました。PCはしませんでした。データベース ソース ドライバーを確認したところ、「SQL Server Client」と「SQL Server Native Client」が存在する一方で、「SQL Native Client」がありませんでした。ここからバージョン 2005 をインストールしましたhttp://www.microsoft.com/en-us/download/details.aspx?id=11988 (64 ビット OS の場合)。

于 2013-04-08T14:31:42.600 に答える
1

このCrystalの問題でひどい時間を過ごしました。レポートはローカルおよび別のサーバーでは機能しましたが、実稼働環境では機能しませんでした.

問題は、SQL ネイティブ クライアントが Prod サーバーにインストールされていないことでした。OLEDB を使用するようにレポートを変更しました。

Report Designer -> 
Right Click on Background -> 
Database -> 
Set Datasource location -> 
In the 'Replace With:' section, Create a New Connection using OLE DB (ADO) -> 
Microsoft OLE DB Provider for SQL Server

SQL Server Native Client 11.0 を選択していたため、展開時にエラーが発生していました。

これに先立って、x86/x64、アプリ プールの変更、Crystal 13 のクレイジー バージョンのインストールなど、あらゆることを試しましたが、これで終わりでした。

于 2015-03-19T18:10:41.520 に答える
1

皆様、お時間をいただきありがとうございました。

以前はユーザー DSN を使用していましたが、アプリケーションを展開したときに「接続を開くことができませんでした。接続 'レポート名'.rpt を開くことができませんでした」というメッセージが表示されました。その後、SystemDSN に変更しました。以前のエラーはなくなりましたが、今回は「データベース ログオンに失敗しました」というエラーが発生しました。

最後に、システム DSN から Oracle サーバーへの接続を変更することで問題を解決しました。現在、すべてが非常にうまく機能しています。同じ問題がある場合は、これを検討してください。

于 2012-05-26T06:13:10.283 に答える
0

接続文字列エラー。次の手順でコードを更新します。

1.データセット接続をクリアします。
2.テーブルまたはテーブルを設定します。
3.データソースとデータセットを設定しないでください。テーブル内のデータを Crystal Report に送信し、サーバーまたはデータベースに接続する必要がないためです。
4. レポート ドキュメントを更新します。
例えば:

MyCrystalReportSource.ReportDocument.DataSourceConnections.Clear();
MyCrystalReportSource.ReportDocument.Database.Tables[0].SetDataSource(MyDataSet.Tables[0]);
MyCrystalReportSource.ReportDocument.Refresh();
MyCrystalReportSource.ReportDocument.ExportToHttpResponse(ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, reportTitle);
于 2014-12-09T07:56:59.343 に答える