【问题标题】:SQL Server: Import and Export CSVSQL Server:导入和导出 CSV
【发布时间】:2011-03-19 19:30:13
【问题描述】:

我正在研究 SQL Server 2000。如您所知,有一个显示查询结果的应用程序(查询分析器) 数据显示在网格上,您可以将该网格保存在 csv 文件中。太好了。

现在,我想将这些 csv 值插入到表中。 SQL Server 是否提供任何方法?我的意思是,自动或半自动方法(例如当您从查询分析器读取 Excel 时)。 因为,例如,我可以使用批量插入来完成此操作,但它涉及大量工作。

我正在考虑开发一个可以做到这一点的应用程序(可能在 python 中)但是,如果其他任何东西已经存在,我不想这样做。

【问题讨论】:

    标签: sql-server database csv sql-server-2000


    【解决方案1】:

    如果您只需要 CSV 导出/导入,我会使用 BCP。它更快,更容易满足这些要求(至少在我看来)。

    【讨论】:

      【解决方案2】:

      您可以查看使用DTS SSIS 来执行此操作。

      DTS 是您希望在 SQL Server 2000 中使用的(正如下面的 cmets 所建议的那样)。

      如果您不想做任何太花哨的事情,我相信您也可以将粘贴直接从电子表格复制到表格中。我有一段时间没有这样做了,所以你必须仔细检查。

      【讨论】:

      • 实际上在 SQL Server 2000 中,它们被称为 DTS - Data Transformation Services
      • 糟糕!谢谢各位大佬的提醒。已更正。
      【解决方案3】:

      你为什么要创建一个 csv 文件,为什么不简单地插入你的 selct 语句的结果呢?假设您用于构建 csv 的选择是:

      select a.field1, b.field2 
      from anothertable a
      join yetanothertable b on a.myid = b.myid
      

      为什么不这样做:

      insert mytable (field1, field2)
      select a.field1, b.field2 
      from anothertable a
      join yetanothertable b on a.myid = b.myid
      

      如果您确实有要导入的 csv 文件,则可以使用导入向导(如果它是一次性交易)或 DTS 包(如果这是您希望定期执行的可重复过程)。

      【讨论】:

      • 因为事实并非如此。我需要的是导出数据。很多原因。事实上,我按照你的建议去做,在其他情况下(当我需要时)甚至来自两个不同的服务器(使用 opendatasource)但是,我要求的是另一件事。
      【解决方案4】:

      如果您已经知道如何从 Excel 导入,则可以在 Excel 中打开 .CSV 文件,并在转换完成后将其另存为 .xls。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-05
        • 1970-01-01
        • 2010-12-27
        • 2018-09-26
        • 2021-02-04
        • 2012-04-05
        • 1970-01-01
        相关资源
        最近更新 更多