2010-07-14 131 views
17

我有一個.rpt文件,我沒有寫,也沒有找到相關文檔。我希望能夠查看從此報告生成的SQL,以便我能夠弄清楚它正在拉什麼數據以及使用了哪些WHERE子句參數。從Crystal Report .rpt文件中提取原始SQL查詢

我可以打開它並查看報告佈局。但是當我選擇數據庫|顯示SQL查詢...報告試圖連接到數據源。問題是,我使用的數據源是未知的,可能是任何編寫查詢的人使用的ODBC連接。我在這個階段所能做的就是'取消',然後我回過頭來看看報表設計師。

我錯過了什麼嗎?我可以在不連接到數據源的情況下訪問SQL查詢嗎?似乎查看選擇標準不應該依賴於數據連接。

謝謝。

版本:Crystal Reports 2008

+0

謝謝 - 這回答了我自己的問題 - 如何查看SQL! – 2014-05-12 22:57:51

回答

5

沒有密碼,我不確定你能做多少。看起來「Show SQL Query」需要報告先運行,然後生成SQL計劃。

這並不理想,但您可以前往Database> Visual Linking Expert至少查看錶格以及它們是如何連接的,然後轉至Record Selection Formula Editor並查看定製的WHERE語句。

6

通過選擇數據庫>設置數據源位置...應該可以找到有關現有數據源的一些詳細信息。

除了可以更改數據源位置外,還應該顯示有關當前數據源的一些信息,例如正在使用哪種類型的數據源,以及可能(取決於驅動程序類型)的名稱數據庫。如果(如你猜測)數據源是ODBC,它可能不太有用,但如果它使用本地驅動程序,則可能有用。

+0

+1這是我的第一個動作。我的第二個行動是進入數據庫專家(就像LittleBobbyTables所說的)。在這兩個選項之間,你應該清楚數據源的概念。 – PowerUser 2010-07-23 20:50:39

16

我知道這是一箇舊的線程,但我遇到了同樣的問題。實際上,我們曾經擁有一個數據庫/應用程序,這個數據庫/應用程序已經被外部機構收購。

儘管他們現在擁有數據庫/應用程序,但他們無法訪問水晶報表,因此我們不能只向他們發送我們以前運行的舊報表。同樣,我們也無法運行它,因爲我們甚至沒有將數據庫設置到任何地方....所以,相反,我們的計劃只是提取由報告生成的SQL代碼並將其轉發。

我們遇到了同樣的問題,但解決方案其實很簡單。 如果您無法訪問原始數據源,只需創建一個新的「空白」數據源(例如ODBC連接)即可。只要與數據源的連接起作用(即它是某種有效的數據源,它就可以正常工作)。運行「顯示SQL」選項時,將報告指向此數據源。只要您不嘗試實際運行報告(並只顯示SQL),操作不會失敗。無論如何,這對我們的情況有效。 (水晶報表2008年)

(我可以提供更多的細節,如果有幫助的任何方式。)

+1

這對我有用。在「數據庫」彈出菜單中,有一個選項「每次驗證數據庫」。這會攪亂你。點擊它,如果它被標記。然後再試一次。 – greg 2017-11-22 00:14:21

3

查看在水晶報表命令的SQL文件

有時你剛纔的報告文件,但不包含報告使用的關聯數據庫結構。 處理您希望模擬的功能的示例報告時,這很常見。 這是一種解決方法,只有當您沒有報表所基於的基礎數據庫連接時,才允許您查看Crystal報表所基於的命令的SQL。 實質上,在顯示SQL之前必須滿足對話框,所以我們用一個合法的數據源來欺騙它,而不是一個可以與SQL命令中實際使用的SQL一起工作的數據源。

爲什麼報告使用命令? Crystal Reports是否有能力鏈接表? 當Crystal Report基於對Crystal Reports中的錶鏈接功能過於複雜的記錄集時,報表可能基於SQL Query,通常在另一個編輯器工具中開發/測試並粘貼到命令中。這允許使用高級SQL函數。

如果您的計算機上尚未設置可連接到的數據源,則需要先創建一個。

一個簡單的Microsoft Access .mdb文件保存在一個簡單的位置就足夠了。 我將路徑放在C:\ A_test \ test.mdb中,以便於查找。 如果您還沒有,請使用谷歌搜索示例mdb文件並下載它,並用名稱和位置記住它。 (你不會真的打開這個文件,只是連接到它。) 一旦你保存了文件,打開ODBC管理器並創建一個新的數據源。 (您可以從搜索中的開始>鍵入ODBC快速訪問ODBC管理器) 在用戶DSN選項卡上,單擊添加按鈕。 向下滾動驅動程序列表到Microsoft Access驅動程序(* .mdb),選擇它並單擊完成按鈕。 在數據源名稱框中,鍵入一個名稱(我使用MyTest)。 單擊選擇按鈕並選擇您從上一步中保存的mdb文件,然後單擊確定。 再次單擊確定。您將看到您的新數據源按您輸入的名稱列出。點擊確定。 您現在有了下一步需要的數據源。

  1. 打開要查看SQL命令的Crystal Report,然後單擊數據庫專家按鈕或數據庫>數據庫專家菜單。
  2. 在選定的表格下,右鍵單擊命令並選擇查看命令
  3. 顯示數據源選擇框。選擇您創建的數據源(或您已經使用的數據源)並單擊完成按鈕。查看命令框應該在左窗格中用SQL打開。將SQL複製到您最喜歡的文本編輯器中。