zoukankan      html  css  js  c++  java
  • TSQL 访问远程数据库并对其数据表进行操作

    概述


    很多时候我们需要在.NET应用程序中使用一条SQL语句来访问来自不同服务器、不同数据库中的不同的表,实现方法有很多。我们可以在.NET应用程序中建立数据访问层,使用ADO.NET Entity Framework将我们的数据库以及数据表抽象成应用程序对象,进而在程序里使用Code来对不同库当中的表进行连接或其他的操作;也可以在数据库级别使用T-SQL脚本直接对不同数据库中的表进行查询或其他操作,前一种方式在这里不做过多介绍,今天介绍一下后一种。

    先介绍一下环境,我有2个数据库服务器Server_A和Server_B

    Server_A(本地)

    • 数据库:AdventureWorkLT
    • 数据表:SalesLT.Customer

    8

    Server_B(远程)

    • 数据库:TailspinToys
    • 数据表:dbo.Products

    9

    使用T-SQL实现


    首先我们需要使用本地数据库中的系统存储过程将远程数据库的连接字符串添加到本地数据库中

    exec sp_addlinkedserver 'Server_B','','SQLOLEDB','192.168.0.2'
    exec sp_addlinkedsrvlogin 'Server_B','false',null,'dbUser','dbPassword'

    该命令仅执行一次即可,现在我们已经将远程的Server_B服务器添加到了本地,我们可以使用如下命令来对远程的数据表进行查询或其他的操作

    SELECT b.CustomerID,a.ProductID,b.LastName AS CustomerName,a.[Description] AS ProductName,a.Unit,a.RetailPrice
    FROM Server_B.TailspinToys.dbo.Products as a
    JOIN AdventureWorksLT.SalesLT.Customer AS b
    ON a.ProductID=b.CustomerID
    WHERE b.CustomerID>4
    

    10

  • 相关阅读:
    leetcode-15 三数之和
    leetcode-113 路径之和
    leetcode-112 路径之和
    leetcode-1 两数之和
    leetcode-215 第k大元素
    leetcode 698 集合k划分
    编程之法之字符串
    LeetCode 830. Positions of Large Groups
    LeetCode 821. Shortest Distance to a Character
    LeetCode 213. House Robber II
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154633.html
Copyright © 2011-2022 走看看