2021年7月23日 星期五

[windows]DTC分散式交易機制

 Windows 上使用DB 且有用交易機制並且還用 link server 時 就有機會遇到這個問題

MSDTC(Microsoft Distributed Transaction Coordinator)服務是 Windows 協調跨越多個資源管理員的交易,比如資料庫、訊息佇列及檔案系統。

1、啟用 MSDTC 服務

  依序點選「開始」 → 「系統管理工具」 → 「服務」 → 「Distributed Transaction Coordinator」,開啟「Distributed Transaction Coordinator」視窗。

2、防火牆設定

  依序點選「開始」 → 「控制台」 → 「系統及安全性」 → 「Windows 防火牆」 → 「允許程式通過 Windows 防火牆」,進入「允許程式通過 Windows 防火牆通訊」設定頁面。

  按下【變更設定】,勾選「分散式交易協調器」。

3、設定 DTC

  依序點選「開始」 → 「系統管理工具」 → 「元件服務」,開啟「元件服務」視窗。

  選擇「元件服務」 → 「電腦」 → 「我的電腦」 → 「Distributed Transaction Coordinator」,於「本機 DTC」開啟右鍵選單,選擇「內容」,開啟「本機 DTC」視窗。

3.1 網路 DTC 存取

  勾選「網路 DTC」存取。

3.2 交易管理員通訊

  勾選「允取輸入」、「允取輸出」。

來源連結


2021年7月6日 星期二

[SQL]字串轉換

 SQL SERVER中要將字串連接用+即可 但如果要使用DATATIME或INT連接則需要轉型

一、CAST( expression AS data_type )

二、CONVERT( data_type , expression )

有兩種方式皆可達到

(ex: int to string)


DECLARE @STR VARCHAR(20) = ''

DECLARE @NUMBER INT = 100

DECLARE @NUMBER2 INT = 300

SET @STR = CONVERT( VARCHAR(20),@NUMBER) +'~' + CONVERT( VARCHAR(20),@NUMBER2) 

SELECT @STR


--結果: 100~300 

[SQL]顯示千分位與小數顯示

  CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) CONVERT style參數說明 1  (expression為 money 或 smallmoney型別): 0 : 預設,保留小數位後兩位,並四捨...