DCOM是什么?
DCOM 實際上是一項協(xié)議,它能讓軟件組件以一種可靠、安全和高效的方式通過網絡進行直接通訊。DCOM 以前稱為“網絡 OLE”,其設計使它能用在多種網絡傳輸(包括 HTTP 等 Internet 協(xié)議)上。DCOM 以開放軟件基金會的 DCE-RPC 規(guī)范為基礎,并可以通過組件對象模型 (COM) 而用于 Java 語言小程序和 ActiveX® 組件。
什么是DCOM?DCOM是什么意思?
這只是個說明字樣吧,#define _WIN32_DCOM 因為_WIN32_DCOM 后沒有其他字符,所以在程序遇到_WIN32_DCOM的地方用空格代替。因此_WIN32_DCOM 只是在函數(shù)前說明的。
什么是DCOM?基本內容和工作原理是什么?
DCOM(分布式組件對象模型,分布式組件對象模式)是一系列微軟的概念和程序接口,利用這個接口,客戶端程序對象能夠請求來自網絡中另一臺計算機上的服務器程序對象。DCOM基于組件對象模型(COM),COM提供了一套允許同一臺計算機上的客戶端和服務器之間進行通信的接口(運行在Windows95或者其后的版本上)。
DCOM 遇到錯誤“無法啟動服務
單擊開始,單擊運行,然后鍵入
DCOMCNFG。選擇要自動運行的應用程序。應用程序名稱如下所示:
Microsoft
Word
2000/2002/2003
-
Microsoft
Word
文檔
單擊屬性打開此應用程序的屬性對話框。
單擊安全性選項卡。驗證使用默認的訪問權限和使用默認的啟動權限已選中。
單擊身份標識選項卡。選擇指定用戶,并鍵入
一個管理員權限(你的ID)
的用戶名和密碼。
單擊確定,關閉屬性對話框并返回主應用程序列表對話框。
在“DCOM
配置”對話框中,單擊默認安全機制選項卡。
單擊訪問權限的編輯默認值。驗證訪問權限中是否列出下列用戶,如果沒有列出,則添加這些用戶:
SYSTEM
INTERACTIVE
Everyone
Administrators
YOUID---
IUSR_*
IWAM_*
*
這些帳戶僅在計算機上安裝有
Internet
Information
Server
(IIS)
的情況下才存在。
確保允許每個用戶訪問,然后單擊確定。
單擊啟動權限的編輯默認值。驗證啟動權限中是否列出下列用戶,如果沒有列出,則添加這些用戶:
SYSTEM
INTERACTIVE
Everyone
Administrators
YOUID---
IUSR_*
IWAM_*
*
這些帳戶僅在計算機上安裝有
IIS
的情況下才存在。
確保允許每個用戶訪問,然后單擊確定。
單擊確定關閉
DCOMCNFG。
啟動
REGEDIT,然后驗證對于要自動運行的
Office
應用程序,是否存在下列注冊表項和字符串值:
Microsoft
Word
97/2000/2002/2003:
注冊表項:HKEY_CLASSES_ROOT\AppID\WINWORD.EXE
AppID:{00020906-0000-0000-C000-000000000046}
其實還有其他同類的錯誤:
Microsoft
Access
2000/2002/2003:
是
AppID:{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
Microsoft
Access
97:
AppID:{8CC49940-3146-11CF-97A1-00AA00424A9F}
Microsoft
Excel
97/2000/2002/2003:
AppID:{00020812-0000-0000-C000-000000000046}
Microsoft
Word
97/2000/2002/2003:
AppID:{00020906-0000-0000-C000-000000000046}
改的方法同上面word的。
2)*******************
系統(tǒng)日志中的大量DCOM錯誤
內容如下:
Access
denied
attempting
to
launch
a
DCOM
Server.
The
rver
is:
{00020906-0000-0000-C000-000000000046}
The
ur
is
Unavailable/Unavailable,
SID=Unavailable.
這種錯誤只有在撥號上網的時候才發(fā)生,如果是通過網關上網,則沒有這個問題。初步判斷應該是不斷的遭到攻擊造成這個問題。于是用netstat命令檢查上網時來自公網的Socket連接,發(fā)現(xiàn)1025端口和135端口很可疑。在防火墻中屏蔽了這兩個端口后,問題解決。(只屏蔽一個端口似乎不能完全起作用,還會有一部分DCOM錯誤記錄下來,只是頻率降低了。)
系統(tǒng)日志中的大量DCOM錯誤之補充
今天發(fā)現(xiàn)還需要屏蔽TCP的445端口才能完全杜絕系統(tǒng)日志中的DCOM錯誤。
日志文件里出現(xiàn)DCOM錯誤碼是因為我的防火墻的路由器的DMZ指向我的機器。把DMZ一關日志文件馬上就沒有出現(xiàn)DCOM錯誤,斷定是第二類錯誤。
Dcom配置怎么打開
用戶的建立及配置
在服務器計算機上建立一個用戶,如OPCUr,可以是一般用戶,服務器計算機在運行OPC服務器時必須以這個用戶登錄。
在服務器計算機上建立一個用戶組,如OPCClients。
在OPC客戶計算機中,建立OPCUr用戶,口令也要與服務器上的一致,可以設為普通用戶以保證安全。
在客戶和服務器計算機上都建立ClientA、ClientB等用戶,且密碼一致。
在服務器計算機上將ClientA、ClientB等用戶都加入到OPCClients組中。客戶計算機用這些用戶登錄。
OPC服務器計算機的DCOM設置,運行dcomcnfg,進行如下設置:
默認屬性:啟用DCOM;
默認身份驗證級別:連接
默認模擬級別:標識
至少要保證OPCClients組允許訪問,也可放寬至Everyone;
默認啟動權限:至少保證允許INTERACTIVE用戶調用;
默認配置權限:一般情況下不需修改。
默認協(xié)議:保證面向連接的TCP/IP在最上。
OPC服務器配置:
常規(guī):身份驗證級別為默認值;
位置:在這臺計算機上運行;
安全性:使用默認的訪問和啟動權限,配置權限不要修改;
身份標識:交互式用戶。
終結點:不修改。
客戶計算機的DCOM配置:為了保證OPC數(shù)據(jù)訂閱等回調機制能正常運行,需要對客戶計算機的DCOM權限進行配置。 默認屬性、默認協(xié)議的配置和服務器端基本一致;默認安全機制只需要修改默認訪問權限。保證允許OPCUr訪問。也可放寬至Everyone。
系統(tǒng)設置
防火墻:
對于安裝了第三方防火墻軟件的計算機,可嘗試配置允許OPC客戶及服務器程序通過,或直接停止防火墻服務。
對于啟用了操作系統(tǒng)(XP SP2、Server 2003等)自帶防火墻的情況,可按OPC基金會提供的文檔《Using OPC via DCOM with XP SP2》中描述的進行配置,或直接關閉防火墻。
注意:客戶、服務器計算機都要配置。
安全策略:(XP、Server 2003等)
“控制面板 -> 管理工具 -> 本地安全策略 -> 本地策略 -> 安全選項”中,
“網絡訪問:本地帳戶的共享和安全模式”項設置為:
“經典 - 本地用戶以自己的身份驗證”
注意事項:
連不通時首先檢查網絡是否正常;
用戶密碼不要設置為空。
怎么解決無法啟動 DCOM 服務器
1、在啟動【SQL Server 代理 (MSSQLSERVER)】服務時,彈出窗口。
2、右鍵單擊代理服務,選擇【屬性】打開屬性對話框。
3、切換到【依賴關系】選項卡,我們可以看見它與【SQL Server(MSSQLSERVER)】服務存在依賴關系。
4、鼠標右鍵單擊【SQL Server(MSSQLSERVER)】,選擇【啟動】。
5、打開SQL的網絡配置,禁用VIA服務。
6、啟用【SQL Server(MSSQLSERVER)】服務成功。
7、再次啟動代理服務,發(fā)現(xiàn)可以順利啟動了。
8、已經成功解決該問題