19

作成していない .rpt ファイルがあり、ドキュメントが見つかりません。このレポートから生成された SQL を確認して、どのデータが取り出され、どの WHERE 句パラメーターが使用されたかを把握できるようにしたいと考えています。

それを開いて、レポートのレイアウトを確認できます。しかし、[データベース|SQL クエリを表示...]を選択すると、レポートはデータ ソースに接続しようとします。問題は、使用されているデータ ソースが不明であることです。おそらく、クエリを作成した人が使用した ODBC 接続です。その段階でできることは「キャンセル」だけで、レポート デザイナーに戻ります。

何か不足していますか?データソースに接続せずに SQL クエリにアクセスできますか? 選択基準の表示は、データ接続に依存するべきではないようです。

ありがとう。

バージョン: Crystal Reports 2008

4

5 に答える 5

21

これが古いスレッドであることは知っていますが、同じ問題が発生しました。事実上、外部機関によって取得されたデータベース/アプリケーションがありました。

彼らは現在、Crystal レポートにアクセスできないデータベース/アプリケーションを持っています。同様に、データベースがどこにもセットアップされていないため、実行できません....そのため、代わりに、レポートによって生成された SQL コードを抽出して転送することを計画しました。

同じ問題が発生しましたが、解決策は実際には非常に簡単です。元のデータ ソースにアクセスできない場合は、新しい「空の」データ ソース (ODBC 接続など) を作成します。データソースへの接続が機能している限り (つまり、何らかの有効なデータソースであれば問題なく機能します)。[SQL を表示] オプションを実行するときは、レポートがこのデータソースを指すようにします。実際にレポートを実行しようとしない (そして SQL のみを表示する) 限り、操作は失敗しません。とにかく、これは私たちの状況でうまくいきました。(クリスタルレポート 2008)

(何らかの形で役立つ場合は、詳細を提供できます。)

于 2011-03-23T01:17:24.313 に答える
6

Database > Set Datasource Location... を選択すると、既存のデータソースに関する詳細を確認できるはずです。

これにより、データソースの場所を変更できるだけでなく、使用されているデータソースのタイプや、場合によっては (ドライバーのタイプに応じて) データベースの名前など、現在のデータソースに関する情報が表示されます。(ご想像のとおり) データソースが ODBC の場合はあまり役に立たない可能性がありますが、ネイティブ ドライバーを使用している場合は、何か役立つことがあります。

于 2010-07-14T16:17:58.067 に答える
5

パスワードがないと、どこまでできるかわかりません。「Show SQL Query」では、最初にレポートを実行してから SQL プランを生成する必要があるようです。

理想的ではありませんが、データベース > Visual Linking Expert に移動して、少なくともテーブルとそれらがどのように結合されているかを確認し、レコード選択式エディターに移動して、カスタム WHERE ステートメントが何であるかを確認できます。

于 2010-07-14T16:02:08.513 に答える
3

Crystal Report ファイルでコマンドの SQL を表示する

レポート ファイルだけがあり、レポートが使用する関連データベース構造がない場合があります。これは、模倣したい機能のサンプル レポートを扱う場合に一般的です。これは、Crystal Report の基になるデータベース接続がない場合に、Crystal Report の基になるコマンドの SQL を表示できるようにするための回避策です。本質的には、SQL を表示する前にダイアログ ボックスが満たされる必要があるため、SQL コマンドに実際にある SQL で機能するものではなく、正当なデータ ソースでそれをだまします。

レポートでコマンドを使用するのはなぜですか? Crystal Reports にはテーブルをリンクする機能がありませんか? Crystal Report が、Crystal Reports 内のテーブル リンク機能に対して複雑すぎるレコード セットに基づいている場合、代わりに、通常は別のエディタ ツールで開発/テストされ、コマンドに貼り付けられた SQL クエリに基づいてレポートを作成できます。これにより、高度な SQL 関数を利用できます。

コンピューターに接続可能なデータ ソースが設定されていない場合は、最初にデータ ソースを構築する必要があります。

単純な場所に保存された単純な Microsoft Access .mdb ファイルで十分です。簡単に見つけられるように、パス C:\A_test\test.mdb を使用して配置しました。持っていない場合は、Google でサンプルの mdb ファイルを探してダウンロードし、覚えやすい名前と場所で保存します。(実際にこのファイルを開くことはなく、接続するだけです。) ファイルを保存したら、ODBC アドミニストレーターを開いて、新しいデータ ソースを作成します。([スタート] > [検索] に「ODBC」と入力すると、ODBC アドミニストレーターにすばやくアクセスできます) [ユーザー DSN] タブで、[追加] ボタンをクリックします。ドライバー リストを Microsoft Access Driver (*.mdb) まで下にスクロールし、それを選択して [完了] ボタンをクリックします。[データ ソース名] ボックスに名前を入力します (私は MyTest を使用しました)。[選択] ボタンをクリックして、前の手順で保存した mdb ファイルを選択し、[OK] をクリックします。[OK] をもう一度クリックします。指定した名前で新しいデータ ソースが一覧表示されます。[OK] をクリックします。これで、次の手順で必要なデータ ソースが作成されました。

  1. SQL コマンドを表示したい Crystal Report を開き、[データベース エキスパート] ボタンをクリックするか、[データベース] > [データベース エキスパート メニュー] をクリックします。
  2. [選択したテーブル] の下で、コマンドを右クリックし、[コマンドの表示] を選択します。
  3. データ ソース選択ボックスが表示されます。作成したデータ ソース (または既に使用しているデータ ソース) を選択し、[完了] ボタンをクリックします。[View Command] ボックスが開き、左側のペインに SQL が表示されます。SQL をお気に入りのテキスト エディターにコピーします。
于 2015-01-21T07:02:36.093 に答える