【问题标题】:How to import to SQL Server 2005 from flat file with data transformations如何通过数据转换从平面文件导入 SQL Server 2005
【发布时间】:2010-11-14 09:55:27
【问题描述】:

我有一个平面数据文件需要导入到我的 SQL Server 2005 数据库中。

许多字段需要拆分为不同的相关表。例如,平面文件包含姓名、地址和电话号码,都在一个记录中。在我的数据库中,Person 表有很多TelephonesAddresses

是否有一个一步的过程,我可以将所有内容导入到我的表中,或者我必须先将其导入到我的数据库中的一个新表中(呃 - 如果我忘记删除它会造成污染),然后导入数据从那里使用 SQL 语句和临时表?

【问题讨论】:

    标签: sql-server sql-server-2005 import flat-file


    【解决方案1】:

    我更喜欢一个导入表,然后拆分成最终表。 我还会保留导入表,而不是每次都创建/删除它。

    • 更容易处理约束(在插入最终表或更新现有行之前检查)
    • 删除成功的行后更容易在导入表中留下错误生成数据
    • 服务器端事务
    • 数据类型安全:您能否 100% 信任您的来源?
    • 更容易在 SQL 中使用 ISNULL 或 NULLIF 来处理空字符串等
    • 还有其他我现在想不起来的事情......

    【讨论】:

    • 是的,我同意。此外,当您生成 ID 值时,几乎不可能维护数据完整性。所以我正在使用我自己的表并使用 LinqToSQL 进行导入。
    【解决方案2】:

    这完全是SQL Server Integration Services 的工作。它有一些很棒的功能,可以让你抓取一个平面文件,对其进行数据操作,并最终将它导入到你的新数据库中。

    不幸的是,除此之外,我还没有一个简单的“快速修复”解决方案。不过,我会首先研究这项技术。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    相关资源
    最近更新 更多