将数据下载到 SQL 服务器

Download data into SQL Server

我有一个没有任何扩展名的文件,我需要将数据下载到 SQL 服务器 table。

下面是在记事本中打开一个字符串的例子:

7600    20160701    20160701    20160630    20160630    20160630    ZSO ### 5501    850170371

在Excel中它看起来像一个没有任何空格的字符串。

当我没有逗号或类似的东西时,如何在列上断开字符串?

您可以使用 Excel(德语中有一个函数叫做(spalten 中的文本,应该类似于 "text in rows")或 LibreOffice Calc(它应该提供一个向导)用于导入数据。 如果它在其中一个程序中看起来不错,请将其另存为 csv 或另一种格式,您可以将其导入 MSSQL。

我建议您查看 SQL 服务器导入向导,它足够智能,可以为您找出分隔符。不过,您可能需要验证列宽和类型。

如果这是一个常规 activity 您可以创建一个 SSIS 包(您实际上可以在导入导出向导结束时创建 SSIS 包)并且可以实现高级错误处理功能。

如果您正在寻找 TSQL 解决方案,请 post 更多 data/specification 以便我们可以解决这个问题。可以通过以下任何一种方式完成:

对于像这样的小数据集和可变数据质量的一次性任务,我个人的偏好是使用 Excel 创建一个可以在 SSMS 中 运行 的脚本。

为此,我将执行以下步骤:

  1. 使用 Excels "Text to columns" 拆分数据
    • 这里有与 SQL 导入向导类似的选项,关于如何计算列(已修复 width/delimiters/...),界面非常直观直接
  2. 复制并粘贴特殊的转置以将数据移动到行中
    • 可能会进行一些手动数据清理
  3. 将公式添加到 "scriptify" 值
  4. 创建并存储脚本