- 如何将 SQL Server 的表导出为单个平面文件?(包括所有数据和第一行作为列名)?
- 是否有可以执行此操作的查询?
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
查询的结果集。