【发布时间】:2011-02-23 01:19:24
【问题描述】:
- 如何将表 SQL Server 导出到 一个平面文件? (所有数据和 第一行作为列名)??
- 是否有执行此操作的查询?
【问题讨论】:
标签: sql-server-2008
【问题讨论】:
标签: sql-server-2008
【讨论】:
EXEC xp_cmdshell 'bcp "exec [StoredProcedure]" queryout "C:\file.txt" -T -c -t,' 提取到文件
DECLARE
@saveas VARCHAR(2048)
,@query VARCHAR(2048)
,@bcpquery VARCHAR(2048)
,@bcpconn VARCHAR(64)
,@bcpdelim VARCHAR(2)
SET @query = 'select * from table1'
SET @saveas = '\\SERVER1\SHARE1\FOLDER\QueryOutput.txt'
SET @bcpdelim = '|'
SET @bcpconn = '-T' -- Trusted
--SET @bcpconn = '-U <username> -P <password>' -- SQL authentication
SET @bcpquery = 'bcp "' + replace(@query, char(10), '') + '" QUERYOUT "' + @saveas + '" -c -t^' + @bcpdelim + ' ' + @bcpconn + ' -S ' + @@servername
EXEC master..xp_cmdshell @bcpquery
【讨论】:
我不确定 pcofre 的方法是否总是有效,即使这是通常的方法。我有以下情况,它坏了。
我想复制表中的列(尝试了整个表复制和查询方法)值来为多个服务器创建脚本。问题是列内容是 varbinary 并且字面上是巨大的。数据长度占19K。这是我使用 ColdFusion 代码创建并插入的 PDF 的二进制数据。现在 DBA 需要将数据复制到其他环境。而且他不能执行“UPDATE/INSERT FROM”,因为数据被截断了。所以他希望我从列中获取二进制值,以便他可以将其放入查询分析器并运行查询。这可能听起来很傻,但无论你做什么,它都没有成功。所以我这样做了:
【讨论】:
SELECT from yourTable查询结果集右键【讨论】: