• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    跨数据库实现数据交流

    通常情况下,我们的CRUD操作都在单一数据库中进行。但是,也可能会遇到需要进行跨数据交流的情况。对此,我以跨数据库进行表的访问为例,稍微总结了下。

    一、同SQL SERVER

    这个最简单。直接在表名前加上"[数据库名]."就可以了。

    例:

    SELECT * FROM [DestinationDBName].dbo.DestinationTableName
    

    二、跨SQL SERVER

     主要介绍两种方法:

    (一)通过链接服务器

    1.先执行系统存储过程 sp_addlinkedserver :

    EXEC sp_addlinkedserver 
    @server='DestinationDBAlias',--目标数据库的别名,在连接并登录后,就可以用它来访问数据
    @srvproduct='',
    @provider='SQLOLEDB',
    @datasrc='DestinationServerIP\ServerName'--通常用"IP\端口名"组成,如果服务器上只装了一个MSSQL SERVER,或者装了多个MS SQLSERVER,但要访问的是默认端口,就不用加端口名
    

    2.再执行系统存储过程 sp_addlinkedsrvlogin:

    EXEC sp_addlinkedsrvlogin 
    @rmtsrvname='DestinationDBAlias',--注意这里的名字应与第一步sp_addlinkedserver中@server值一致
    @useself='false',
    @locallogin=NULL,
    @rmtuser='UserName',
    @rmtpassword='Password'
    

    3.现在,我们可以通过目标数据库别名访问数据:

    例:

    SELECT * FROM [DestinationDBAlias].dbo.DestinationTableName

    4.使用结束,不要忘了断开与目标数据库的连接:

    EXEC sp_dropserver 
    @server='DestinationDBAlias',--注意这里的名字应与第一步sp_addlinkedserver中@server值一致
    @droplogins='droplogins'


    (二)使用OPENDATASOURCE/OPENROWSET连接远程服务器

    SELECT * FROM OPENDATASOURCE
    ('SQLOLEDB', --provider_name
    'Data Source=DestinationServerIP;User ID=UserName;Password=Password' --provider_string(datasource;user_id;password)
    ).[DestinationDBAlias].dbo.DestinationTableName
    
    SELECT * FROM OPENROWSET
    ('SQLOLEDB',--provider_name
    'DestinationServerIP';'UserName';'Password',--provider_string(datasource;user_id;password)
    'SELECT * FROM [DestinationDBAlias].dbo.DestinationTableName')--query_string
    
    

    函数OPENQUERY也能实现跨服务器访问数据,但它是基于已经建立链接服务器的基础上来操作的,应属第一种方法,在此不再赘述。

    以上就是跨数据库实现数据交流的方法,希望大家可以亲自动手操作一下。

    您可能感兴趣的文章:
    • Access的跨库查询 (图)
    • SQLServer 跨库查询实现方法
    • Oracle跨数据库查询并插入实现原理及代码
    • 深入SQL Server 跨数据库查询的详解
    • 解析MSSQL跨数据库查询的实现方法
    • php结合ACCESS的跨库查询功能
    上一篇:数据库设计三大范式简析
    下一篇:MySql查询不区分大小写解决方案(两种)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    跨数据库实现数据交流 跨,数据库,实现,数据,交流,