【问题标题】:Export a table in SQL Server 2008在 SQL Server 2008 中导出表
【发布时间】:2011-02-23 01:19:24
【问题描述】:
  • 如何将表 SQL Server 导出到 一个平面文件? (所有数据和 第一行作为列名)??
  • 是否有执行此操作的查询?

【问题讨论】:

    标签: sql-server-2008


    【解决方案1】:
    1. 右键单击数据库名称 -> 任务 -> 导出数据
    2. 选择表作为数据源
    3. 选择平面文件目标作为目标
    4. 选择文件名
    5. 标记“第一个数据行中的列名”

    【讨论】:

    • 您知道有一个查询与您描述的一样吗?
    • 你考虑过使用 SSIS 吗?否则,可以选择按照dotnetspider.com/forum/253768-Queryout-with-Column-Names.aspx 中的说明编写 SP,然后使用 EXEC xp_cmdshell 'bcp "exec [StoredProcedure]" queryout "C:\file.txt" -T -c -t,' 提取到文件
    【解决方案2】:
    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  
    

    【讨论】:

      【解决方案3】:

      我不确定 pcofre 的方法是否总是有效,即使这是通常的方法。我有以下情况,它坏了。

      我想复制表中的列(尝试了整个表复制和查询方法)值来为多个服务器创建脚本。问题是列内容是 varbinary 并且字面上是巨大的。数据长度占19K。这是我使用 ColdFusion 代码创建并插入的 PDF 的二进制数据。现在 DBA 需要将数据复制到其他环境。而且他不能执行“UPDATE/INSERT FROM”,因为数据被截断了。所以他希望我从列中获取二进制值,以便他可以将其放入查询分析器并运行查询。这可能听起来很傻,但无论你做什么,它都没有成功。所以我这样做了:

      1. your_Database
      2. 生成脚本
      3. “选择对象”(如果有)

      【讨论】:

        【解决方案4】:
        1. SELECT from yourTable查询结果集右键
        2. 选择将结果另存为...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-09-10
          • 1970-01-01
          • 2016-05-18
          • 1970-01-01
          • 2011-01-13
          • 2013-09-01
          • 1970-01-01
          相关资源
          最近更新 更多