【问题标题】:use sql bulk copy for dependent table对依赖表使用 sql 批量复制
【发布时间】:2013-04-10 13:54:31
【问题描述】:

我有两个DataTabletblSoftwaretblDeviceSoftware设计如下:

tblSoftware -> SoftwareID|SoftwareName|Version

tblDeviceSoftware -> DeviceSoftwareID|DeviceID|SoftwareID|SoftwareName|Version

我有 300-500 条记录,我想在这种情况下使用 SQL BULK INSERT。如果存在相同的softwareName,则不要插入它。我正在使用 WCF 服务插入。我将通过DeviceName 在sql 中获得DeviceID。除了逐行插入之外,将它插入数据库的最佳方式是什么。

【问题讨论】:

    标签: c# .net sql-server bulkinsert


    【解决方案1】:

    我使用 .NET Framework 中的 SqlBulkCopy 类取得了相当大的成功。

    但是,使用 SQL Bulk Insert 或 SqlBulkCopy,我不相信您可以有选择地确定将哪些记录添加到目标表中。相反,源中的所有内容都会被添加(或根据密钥违规等尝试)。

    您可以在 SQL Server 中创建一个不同的目标表,将数据批量插入到该表中,然后执行插入查询以仅将必要的记录插入到目标表中。

    否则,您需要执行测试,以便将源数据更改为仅包含您需要添加到目标表中的记录。我的预感是,这种方法会比在 SQL Server 中作为插入语句的一部分执行此测试要慢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-30
      • 1970-01-01
      • 2019-04-29
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      相关资源
      最近更新 更多