标签归档:ms sql server

读取mdf格式的sql server数据文件,并将数据以CSV格式导出

多年以前使用过微软的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.

发表在 信息处理 | 标签为 , , , | 留下评论