zoukankan      html  css  js  c++  java
  • 跨数据库的数据操作

    不同服务器数据库之间的数据操作

    不同数据库之间复制表的数据的方法:

    当表目标表存在时:

    insert into 目的数据库..表 select * from 源数据库..表  

    当目标表不存在时:

    select * into 目的数据库..表 from 源数据库..表

    --如果在不同的SQL之间: 

    insert into openrowset('sqloledb','目的服务器名';'sa';'',目的数据库.dbo.表) 
    select * from 源数据库..表 

    --创建链接服务器 
    exec sp_addlinkedserver   'ITSV '' ''SQLOLEDB ''远程服务器名或ip地址 ' 
    exec sp_addlinkedsrvlogin 'ITSV ''false ',null'用户名 ''密码 ' 

    --查询示例 
    select * from ITSV.数据库名.dbo.表名 

    --导入示例 
    select * into 表 from ITSV.数据库名.dbo.表名 

    --以后不再使用时删除链接服务器 
    exec sp_dropserver 'ITSV ''droplogins ' 

    -----------------------------------------------------------------------------------------------------------------------------------

    好吧,如果上面看得烦下面有个更容易理解的例子:

    Exec sp_droplinkedsrvlogin DBVIP,Null
    Exec sp_dropserver DBVIP

    EXEC sp_addlinkedserver
          @server='DBVIP',--被访问的服务器别名 
          @srvproduct='',
          @provider='SQLOLEDB',
          @datasrc='Server2'   --要访问的服务器


    EXEC sp_addlinkedsrvlogin 
         'DBVIP', --被访问的服务器别名
         'false', 
         NULL, 
         'sa', --帐号
         'thankyoubobby' --密码


    Select   *   from DBVIP.pubs.dbo.orders   


    /////////////////////////////ORACLE////////////////////////////
    Exec sp_droplinkedsrvlogin demo,Null
    Exec sp_dropserver demo
    go

    EXEC sp_addlinkedserver 
            @server ='demo',
            @srvproduct='Oracle',
       @provider='MSDAORA', 
       @datasrc='ServiceName' 
      

    EXEC sp_addlinkedsrvlogin 
         'demo', 
         'false', 
         NULL, 
         'userid', 
         'password' 
    go

    -------------------------------------------具体例子------------------------------------------------------------

    if   exists(select   1   from   master.dbo.sysservers   where   srvname   =   'test')   
    begin   
    exec   sp_droplinkedsrvlogin     'test','sa'   
    exec   sp_dropserver     'test'   
    end  

    --建立连接服务器 
    EXEC sp_addlinkedserver 'test', 'ms','SQLOLEDB', '192.168.1.99'


    exec sp_addlinkedsrvlogin 'test','false',null,'sa',''
    select * from test.db_film.dbo.T_film
    go

    if   exists(select   1   from   master.dbo.sysservers   where   srvname   =   'test')   
    begin   
    exec   sp_droplinkedsrvlogin     'test','sa'   
    exec   sp_dropserver     'test'   
    end  

    go

  • 相关阅读:
    Service Location Protocol SLP
    [http 1.1] M-POST
    安装 wbemcli
    [http 1.1] M-POST w3
    [CODEVS 1288]埃及分数
    [NOIp 2013]货车运输
    [测试题]gentree
    [USACO 07NOV]Cow Relays
    [USACO 13DEC]Vacation Planning(gold)
    [CODEVS 2495]水叮当的舞步
  • 原文地址:https://www.cnblogs.com/kingsony/p/4013552.html
Copyright © 2011-2022 走看看