代码之家  ›  专栏  ›  技术社区  ›  Nate CSS Guy

使用“查找”导入SQL Server数据

  •  0
  • Nate CSS Guy  · 技术社区  · 14 年前

    我有两个数据库,位于两个独立的SQL服务器上(尝试合并这两个数据库)。

    这是我的设置,我正在尝试从server1:orders表导入server2:orders表。

    Server1
        Database1
            Orders(ID, CustomerName, DateOrdered)
    
    Server2
        Database2
            Customers(ID, Name)
            Orders(ID, CustomerID, DateOrdered)
    

    如您所见,database1具有非规范化的数据,database2具有相同的数据,正确规范化。

    我遇到的问题是执行SQL Server导入。在database2中,将填充customers表,并且server1.database1.orders.customername和server2.database2.customers.name之间将存在匹配。

    我希望在导入过程中,根据导入数据中customername字段的值“查找”customer.i d字段,然后对我的新订单表进行相应的插入。

    我能够通过SSMS连接到两个服务器,并且我正在尝试通过“SQL Server本机客户端10”作为数据源进行导入。

    更新

    似乎我无法执行SSIS“包”,因此我所做的是:

    已将database1.orders移动到database2.orderSold。

    我现在正在寻找一个查询来在数据库中创建新的订单记录2.订单并插入正确查找的customerid,因为现在这三个表都在同一个数据库中,这是可能的吗?

    2 回复  |  直到 9 年前
        1
  •  1
  •   Remus Rusanu    14 年前

    使用SSIS,特别是 Lookup Transformation . 请参阅msdn文章链接中的链接博客和教程。

        2
  •  1
  •   Amethi    14 年前

    我想可以这样做:

    SELECT O1.ID, C2.ID, O1.DateOrdered
        INTO Server2.Database2.Orders 
        FROM Server1.Database1.Orders O1
        INNER JOIN Server2.Database2.Customers C2 ON C2.Name = O1.CustomerName