【问题标题】:SQL Server export to CSV fails when imported to same table on a new server导入到新服务器上的同一个表时,SQL Server 导出到 CSV 失败
【发布时间】:2019-01-09 16:01:42
【问题描述】:
  1. 在 SQL Server 2008 上,我执行了 Script to... CREATE to... 来捕获表定义。该表主要是nchar
  2. 在新服务器上,我运行该脚本来重新创建表
  3. 在原始服务器上我做了SELECT *...,然后是Save to... CSV
  4. 在我在 CSV 上使用 Import Data... 的新服务器上

导入失败,出现许多与截断和转换相关的错误。这很有趣,如果它们具有相同的定义,它应该是有效的?

我已经尝试了很多方法 - 告诉它忽略这些错误会将错误数量减少到两个,但仍然无法导入。告诉它导入新表而不是现有的已创建表失败并出现相同的错误 (!!!)。

我在这里遗漏了什么明显的东西吗?

【问题讨论】:

  • 为什么不节省大量步骤并使用内置的数据导出/导入工具?
  • 首先,试试@SeanLange 的提议。此外,检查服务器和数据库的 COLLATION 是否相同。否则你会遇到一些与 SP、视图等有关的问题
  • 在阅读 Erland 对 ETL here 的讨论后,将他的主页添加为书签。 BCP 会更安全、更快且可重复。
  • @Maury ,导出表中的任何字段是否包含长度超过 255 的文本字段?如果是这样,当导出数据并且您想要导入另一台服务器时,导入过程中文本字段的最大值可能为 255,任何超过 255 的值都会产生错误。
  • @EdMendez - 是的,但数据库在字段定义方面应该是相同的,所以如果有其中之一,它也应该在目的地。我会尝试 SMor 的建议,并在有机会时报告。

标签: sql-server import


【解决方案1】:

天哪!在 MS 软件堆栈的某个地方,它在文件开头插入了这三个魔术字符,表明它是 unicode。

所以它改变了第一个字段名称以包含非法字符,然后所有之后的内容都被窃听了。我只是在定义列映射后返回预览时才发现这个,然后看到“from”字段突然乱码!

嗯,至少比看“Real Men”花的时间少,所以我什至不能抱怨我的生活中我回不去的那部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2020-07-17
    • 2011-03-19
    • 2013-01-06
    • 1970-01-01
    • 2014-01-02
    相关资源
    最近更新 更多