方式一:sqlserver 導出excel
報錯,各種校驗錯誤,占時無法解決。需要仔細百度。
方式二:每次查詢6萬條,然后復制粘貼到Excel。
復制過程中,卡住了。
方式三:sql查詢-全選-另存為csv
可行,且高效!(10萬以內,因為操過10萬無法用Excel打開了)
方式四:導出Access
(10萬條以上且普通人能打開的軟件大概只有Access了)
問題:同樣的導出方法,一次性導出所有數據(一千兩百萬),導出失敗了(數據庫大小超過2G);
按照編號拆分成三份(每個數據庫容量不超過2G),卻導出成功。
目前結論:Access數據庫的容量可能比SQLServer小的多!!!
建議分批導出多個Access庫,每個Access數據庫大小控制在2G以內,條數大約在五百萬條以內(根據實際情況調整條數)。
sqlserver導出Access流程
你需要用Access新建一個mdb庫。
點擊查詢,調整數據類型和是否為空
失敗改為忽略
點擊下一步,等待導出成功。
------報錯案例-----------------------------
若數據庫大小操過2G,都報同樣的錯誤:
操作已停止...
- 正在初始化數據流任務 (成功)
- 正在初始化連接 (成功)
- 正在設置 SQL 命令 (成功)
- 正在設置源連接 (成功)
- 正在設置目標連接 (成功)
- 正在驗證 (成功)
- 准備執行 (成功)
- 執行之前 (成功)
- 正在執行 (成功)
- 正在復制到 `查詢` (錯誤)
消息
* 錯誤 0xc0202009: 數據流任務 1: SSIS 錯誤代碼 DTS_E_OLEDBERROR。出現 OLE DB 錯誤。錯誤代碼: 0x80004005。
已獲得 OLE DB 記錄。源:“Microsoft Access Database Engine” Hresult: 0x80004005 說明:“不能打開數據庫“”。應用程序可能無法識別該數據庫,或文件可能損壞。”。
(SQL Server 導入和導出向導)
* 錯誤 0xc0209029: 數據流任務 1: SSIS 錯誤代碼 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“目標 - 查詢.輸入[Destination Input]”失敗,錯誤代碼為 0xC020907B,而且針對“目標 - 查詢.輸入[Destination Input]”的錯誤行處理設置指定一旦出錯就失敗。在指定組件的指定對象上出錯。可能在此之前已經發出錯誤消息,提供了有關失敗的詳細信息。
(SQL Server 導入和導出向導)
* 錯誤 0xc0047022: 數據流任務 1: SSIS 錯誤代碼 DTS_E_PROCESSINPUTFAILED。處理輸入“Destination Input”(110)時,組件“目標 - 查詢”(97)的 ProcessInput 方法失敗,錯誤代碼為 0xC0209029。標識的這個組件從 ProcessInput 方法返回了一個錯誤。雖然該錯誤是此組件特有的,但卻是致命的,將導致數據流任務停止運行。可能在此之前已經發出錯誤消息,提供了有關失敗的詳細信息。
(SQL Server 導入和導出向導)
* 錯誤 0xc02020c4: 數據流任務 1: 無法向數據流任務緩沖區添加行,錯誤代碼為 0xC0047020。
(SQL Server 導入和導出向導)
* 錯誤 0xc0047038: 數據流任務 1: SSIS 錯誤代碼 DTS_E_PRIMEOUTPUTFAILED。源 - 查詢 的 PrimeOutput 方法返回了錯誤代碼 0xC02020C4。管道引擎調用 PrimeOutput() 時該組件返回了一個失敗代碼。雖然該失敗代碼只與該組件有關,但這個錯誤是致命的,管道已停止執行。可能在此之前已經發出錯誤消息,提供了有關失敗的詳細信息。
(SQL Server 導入和導出向導)
- 執行之后 (成功)
消息
* 信息 0x4004300b: 數據流任務 1: “目標 - 查詢”已寫入 8382851 行。
(SQL Server 導入和導出向導)