• T-SQL


    一、概述

      很多时候我们需要在.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
  • 相关阅读:
    洛谷P1175 表达式的转换
    洛谷P1725 琪露诺
    bzoj1047 [HAOI2007]理想的正方形
    洛谷P1886 滑动窗口
    最大数的和
    bzoj1087 [SCOI2005]互不侵犯King
    bzoj1051 [HAOI2006]受欢迎的牛
    Android(java)学习笔记41:Map集合功能概述
    Android(java)学习笔记40:WindowManager 中LayoutParams的各种属性
    Android(java)学习笔记39:Android 修改字体
  • 原文地址:https://www.cnblogs.com/liandy0906/p/5917220.html
Copyright © 2020-2023  润新知