zoukankan      html  css  js  c++  java
  • 通信交互总结

      一. 在网络上面的交互通信,首先要注意是防火墙的设置,进站和出站的配置是否完善。

      eg.    sqlserver双主机通信交互的事务中,需要启动MSDTC服务进程,然后DTC配置需要开启网络允许,不同主机上的进站和出站规则都需要配置下允许该进程同行。

    以下是不同主机的交叉事务查询语句:

    DECLARE @destserver VARCHAR(100)
    DECLARE @sourceserver VARCHAR(100)

    set @destserver='192.168.1.102'
    set @sourceserver='192.168.1.99'

     

    SET NOCOUNT ON
    --不存在则添加链接服务器,外部查询必须指明IP地址,例如 select * from [IP].[database].[dbo].[table]
    if not exists (select * from sys.servers where server_id!=0 and data_source=@destserver)
    begin
    exec sp_addlinkedserver @server=@destserver
    end
    if not exists (select * from sys.servers where server_id!=0 and data_source=@sourceserver)
    begin
    exec sp_addlinkedserver @server=@sourceserver
    end
    begin try
    set xact_abort on
    begin Distributed transaction --distributed
    --http://www.cnblogs.com/chnking/archive/2007/04/04/699891.html
    INSERT INTO [192.168.1.102].[dbCRM].[dbo].[t_custom] (id,text) --VALUES ('1', '2')

    SELECT A.id,A.text

    FROM [dbPM].[dbo].[v_custom] A
    WHERE A.id NOT IN ( SELECT id FROM [192.168.1.102].[dbCRM].[dbo].[t_custom])

    ----------------------------------存在更新-----------------------------------
    update A set
    A.id=B.id,
    A.text=B.text

    from [192.168.1.102].[dbCRM].[dbo].[t_custom] A,[dbPM].[dbo].[v_custom] B
    where A.id=B.id

    commit transaction
    end try
    begin catch
    select ERROR_NUMBER() as errornumber,ERROR_MESSAGE() as errormsg,ERROR_LINE() as errorline
    rollback transaction
    end catch


    --Exec sp_dropserver @destserver A

    ---添加远程连接的登录账号 B
    --EXEC sp_addlinkedsrvlogin
    --'192.168.1.102', --被访问的服务器别名(如果上面sp_addlinkedserver中使用别名JOY,则这里也是JOY)
    --'false',
    --NULL,
    --'sa', --帐号
    --'system' --密码

    ---C
    --开启双方的MSDTC服务

  • 相关阅读:
    剑指Offer 30 包含min函数的栈
    剑指Offer 29 顺时针打印矩阵
    剑指Offer 27 二叉树的镜像
    13张动图助你彻底看懂马尔科夫链、PCA和条件概率!
    一位ML工程师构建深度神经网络的实用技巧
    IBM沃森会成为第一个被抛弃的AI技术吗?
    中国最强AI超级服务器问世,每秒提供AI计算2000万亿次
    SAP WM 有无保存WM Level历史库存的Table?
    SAP MM 按采购订单查询付款信息的报表?
    机器学习项目失败的9个原因
  • 原文地址:https://www.cnblogs.com/guanshan/p/guan2016-2-23_1.html
Copyright © 2011-2022 走看看