Sql-Server
MS SQL Server 2008:如何將所有表導出為 CSV?
我必須從 MS SQL Server 遷移,現在創建一個新的 ORACLE 數據庫,其中部分數據來自我的舊表。
為此,我需要從幾十個表中獲取數據作為 unicode CSV 或 TXT 文件,欄位由“|”分隔。
壞處是 MS SQL Server 的預設導出大師一次只能導出一個表,並且為每個表配置導出選項需要相當長的時間。我開始手動導出它們,但我在第 10 桌時感到緊張。
您知道如何將所有表從 SQL Server 導出為 csv 或 txt 嗎?
更強大的解決方案是使用 Oracle Migration Workbench。這曾經是一個獨立於 Oracle 的實用程序,但現在包含在Oracle SQL Developer中。如果你和 CLOB/BLOB 數據類型,那麼這是要走的路。您還應該閱讀有關如何遷移的 Oracle文件,因為 SQL Developer 遷移界面不是很直覺。
如果您確實想將所有表導出到 csv,您可以使用BCP或SSIS。關於使用一些 t-sql 和為數據庫中的所有表生成 bcp 導出命令的simple-talk有一篇非常好的文章。您還可以使用平面文件目標任務創建簡單的 SSIS 包以將所有表導出到 csv。
這是一些快速而骯髒的東西,它將為您生成 BCP 命令。在 SSMS 中執行它,在命令提示符下執行輸出。
USE AdventureWorks SELECT 'bcp ' + QUOTENAME(DB_NAME()) + '.' +QUOTENAME(SCHEMA_NAME(schema_id)) + '.' +QUOTENAME(name) + ' '+'out'+' ' + name + '.csv -w -t"|" -E -S ' + @@servername + ' -T' FROM sys.objects WHERE TYPE='u' AND is_ms_shipped=0