Sql-Server
導出到 Excel 時出現 SQL Server 2012 錯誤
讓我先說我對 SQL 知之甚少。我今天早些時候收到了
.bak
一個客戶的文件,他們希望我將它移動到一個新的數據庫(不是 SQL)。我創建了一個 SQL Server 2012 實例並將.bak
文件恢復到數據庫,現在它是.mdf
文件。此過程的最後一步是將其放入 Excel 或
.csv
文件(新數據庫系統接受的輸入)。我嘗試按照基本的“右鍵點擊然後選擇導出和目的地”說明進行操作,但我不斷收到錯誤提示。我已複製/粘貼以下報告:Operation stopped... - Initializing Data Flow Task (Success) - Initializing Connections (Success) - Setting SQL Command (Success) - Setting Source Connection (Success) - Setting Destination Connection (Success) - Validating (Success) - Prepare for Execute (Stopped) - Pre-execute (Stopped) - Copying Rows (Error) Messages Error 0xc002f210: Preparation SQL Task 1: Executing the query "CREATE TABLE `aspnet_Profile` ( `UserId` GUID, `..." failed with the following error: "The Microsoft Jet database engine could not find the object 'aspnet_Profile'. Make sure the object exists and that you spell its name and the path name correctly.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. (SQL Server Import and Export Wizard) - Post-execute (Stopped)
似乎我經常在嘗試使用 SSMS 導入/導出嚮導導出到 excel 時遇到問題,而且我從來沒有花時間學習和理解這些怪癖。
這不一定能回答您的問題,但可能是一個可行的選擇。與其導出到 excel,不如考慮導入到 excel 中。這個 YouTube 影片似乎證明了這一點:http: //youtu.be/VQrKg0GgZR0
當然,如果您需要導出大量表或經常需要執行此操作,這是一種相當乏味的方法,但它對我來說非常有效,並且在僅導出幾個表時減少了很多頭痛。
根據您的數據庫有多大(就列和表的數量而言),我認為您不會喜歡這個特定的答案。可能會發生故障,因為您首先需要創建一個骨架 XLS,其中預定義了所有相應的列和工作表(即,在 XLS 文件中:創建與所有表名匹配的工作表並創建使用表列名預定義的所有列),除非您創建某種 DTS 來為您動態建構它 - 請 DBA 專家,如果我在這裡錯了,請糾正我。
如果您不想做所有這些,而且這是一次性的,您可能需要考慮為每個表執行一個 select 語句,然後通過在 SQL 查詢中使用剪切和粘貼將該選擇的結果導出到 Excel 電子表格窗戶。請注意,在實時生產環境中,DBA 可能不贊成對錶執行全選 *。