多年以前使用過微軟的SQL Server 2000數據庫。留下一個mdf格式的數據文件,臨時用到想把它導出。過程真可以使用災難來形容。現在不用使用微軟的東西來工作了,真是好運啊。
我使用的是MS SQL Express 2005。要在Windows 7上安裝,得安裝SP4版本。安裝後使用它附加上mdf文件。數據庫就可以在上面查詢了。在查詢窗口輸入:
EXEC xp_cmdshell
'BCP "dbname.dbo.tablename" out d:\aa.csv -t , -T -SMY-PC\SQLEXPRESS -w'
這樣的命令,就能將數據導出CSV到文件。其中-t後面的是分隔符,這裡使用的是逗號,注意這樣如果原來數據中也有逗號,會產生數據分隔出問題,這時可以改用其它符號(如####)。-w是指定使用unicode文字編碼輸出。重點是要加-S參數,指定自己的PC名稱\SQLEXPRESS, 不然會連接出錯,錯誤提示如:
[SQL Native Client]Named Pipes Provider: Could not open a connection
to SQL Server [2].
[SQL Native Client]Login timeout expired
[SQL Native Client]An error has occurred while establishing a
connection to the server. When connecting to SQL Server 2005, this
failure may be caused by the fact that under the default settings SQL
Server does not allow remote connections.