2012-03-10 43 views
1

我已經接管了最初用VB.Net編寫的應用程序的支持,現在已經移植到C#中。該應用程序最初使用的是現在已遷移到Microsoft SQL Server 2008的Access數據庫。除了使用Crystal Reports構建的報告外,一切工作正常。我以前從來沒有使用過Crystal Reports,而且我努力讓轉換後的.RPT文件與Sql Server而不是Access一起工作。如何將水晶報表文件(RPT)從Access遷移到Microsoft Sql Server?

我正在使用Visual Studio 2010併爲VS安裝了Crystal Reports 13.0.1。現在,當我打開其中一個RPT文件時,我會看到帶有「數據庫字段」樹項目的「字段資源管理器」,我可以將其展開以顯示單個表格。如果右鍵單擊「數據庫字段」並選擇「驗證數據庫」,彈出一個窗口,標題爲「Access/Excel(DAO)」,字段「數據庫名稱」顯示.mdb文件和「數據庫類型」的路徑「訪問」顯示在這裏。如果我下拉「數據庫類型」,我只看到這裏列出的基於文件的數據庫,如「dBase 5.0」,「Excel 8.0」,「Paradox 5.x」等。

那麼如何更改「數據庫字段」閱讀我的Sql Server數據庫而不是Access?

更新:

好的。我現在大部分時間都在那裏。我設法使用Database Expert連接到數據庫(右鍵單擊「數據庫字段」,然後從上下文菜單中選擇「數據庫專家」)。然後,我擴展了「創建新連接」,然後是「OLE DB(ADO)」,並能夠從提供者列表中選擇「SQL Server Native Client 10.0」。通過這種方式,我可以添加到Sql Server數據庫的鏈接。

然後我試着去「Set Database Location ..」並將提供程序從「My Connections」下的.mdb更新到現在在那裏列出的Sql數據庫,然後選擇「Update」。如果只有表被鏈接並且它們存在於Sql數據庫中(它們是),這工作正常。但是如果報表有一個命令(sql查詢),那麼更新將失敗,因爲該命令的語法對於Sql Server不正確。我可以刪除該命令並使用正確的語法在Sql Server連接下重新創建它,但是隨後我丟失了鏈接到原始命令的報告中的所有字段。這不是太多的問題因爲我可以手動重新創建這些,但我想知道是否有一種方法在將數據庫位置設置爲Sql Server時更改命令的語法?

回答

0

rem對sql代碼的行,然後做數據庫更新,然後更新sql代碼。