KIS專業(yè)版連接不到主機_第1頁
KIS專業(yè)版連接不到主機_第2頁
KIS專業(yè)版連接不到主機_第3頁
KIS專業(yè)版連接不到主機_第4頁
KIS專業(yè)版連接不到主機_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、金蝶KIS專業(yè)版連接主機(注,本文較長,但如果您能夠耐心看完,相信一定會有所收獲!本文由昆明蘇博泰克計算機有限公司郭永林原創(chuàng),在金蝶博客以狂嘯三聲名義發(fā)布。解決問題時花了大半天,整理撰寫和排版又花了一整個晚上,因此轉(zhuǎn)載收藏時請保留此說明,謝謝。)目錄金蝶KIS專業(yè)版“登錄時出現(xiàn)問題,請重新輸入”終極解決全過程1一、從客戶端PING服務(wù)器,檢查網(wǎng)絡(luò)狀況2二、測試訪問服務(wù)器共享文件夾2三、修改host解析文件3四、關(guān)閉或配置防火墻3五、關(guān)閉數(shù)據(jù)執(zhí)行保護3六、重新安裝msdtc組件3七、重新分析過程及問題的根本原因3八、終極解決辦法之一:注冊表添加別名法8九、終極解決辦法之二:客戶端網(wǎng)絡(luò)工具添加別名

2、法9十、終極解決辦法之三:ODBC添加數(shù)據(jù)庫訪問別名法9十一、其他可能遇到的情況15十二、總結(jié)16好久沒做專業(yè)版,現(xiàn)在做了一個。想不到居然遇到了傳說的“登錄時出現(xiàn)問題,請重新輸入”提示。如下圖所示:我狂暈啊,印象中好像很多人都遇到過,想不到我也會栽到它頭上。我裝了那么多K3經(jīng)過一番配置都沒再出過登錄不了的問題??!由于是所有客戶端都這樣提示,所以判斷肯定服務(wù)器配置存在問題,好吧,動手排查:一、 從客戶端PING服務(wù)器,檢查網(wǎng)絡(luò)狀況結(jié)果如下:哎呀,不管是用IP地址“”還是用服務(wù)器名稱“KIS”,返回值都正常,看來網(wǎng)絡(luò)相當(dāng)正常。二、 測試訪問服務(wù)器共享文件夾從開始運行中輸入“”,結(jié)果出錯,提示如下:

3、由于錯誤,登錄失敗: 用戶帳戶限制。可能的原因包括不允許空密碼,登錄時間限制,或強制的策略限制。服務(wù)器無法登錄Windows NT帳戶 GUEST'??磥硎蔷W(wǎng)絡(luò)權(quán)限配置過于嚴(yán)格,于是采取以下辦法處理:1.右擊我的電腦,選擇“管理”,在左邊依次展開“計算機管理”“系統(tǒng)工具”“本地用戶和組”“用戶”,檢查“GUEST”用戶是否是打“X”禁用,如果是,則右擊屬性,然后取消禁用選項。2.從“開始”“運行”,輸入“gpedit.msc”,進入到組策略管理界面下,依次展開“計算機配置->Winsows設(shè)置->安全設(shè)置->本地策略->用戶權(quán)利指派”,看看右邊有一行:"

4、;拒絕從網(wǎng)絡(luò)訪問這臺計算機 "看它的屬性里有沒有g(shù)uest一項,若有,則刪除。3.開始運行,輸入gpedit.msc回車計算機配置windows設(shè)置安全設(shè)置本地策略安全設(shè)置“賬戶:使用空白密碼的本地賬戶只允許進行控制臺登錄”改為“已禁用”。OK,再測試,試了幾臺客戶端都正常了。我有預(yù)感,不會這么簡單!果然,到最后兩臺,功虧一簣啊,不行!不過,現(xiàn)在服務(wù)器肯定是沒有問題了,得查客戶端了,根據(jù)網(wǎng)友們總結(jié)的辦法,一步一步排查吧。三、 修改host解析文件找到C:WINDOWSsystem32driversetc下的HOSTS文件,用記事本打開并添加服務(wù)器的記錄(這個前提要求服務(wù)器的IP得是手

5、工指定的IP啊,要是動態(tài)獲取的話,今天添加了今天有用,明天IP變了就白添加了):192.168.1.200 KIS四、 關(guān)閉或配置防火墻關(guān)閉防火墻包括WINDOWS自帶的,或者其他軟件防火墻。如果不關(guān)閉的話,也可以通過其他設(shè)置,如開放端口。TCP:135、139、445、1069、1090、1433、2967、6985、6988;UDP:137、445、1033、1434、1058、2123、3000?;蛘卟捎锰砑拥桨酌麊危涸O(shè)置-詳細(xì)設(shè)置-網(wǎng)站防問規(guī)則-白名單-增加192.168.1。200。OK,其中一臺通過以上步驟后也可以了。但另一臺死活不行,只能繼續(xù)其他可能影響的設(shè)置修改。五、 關(guān)閉數(shù)據(jù)

6、執(zhí)行保護通過修改BOOT.INI文件,添加或修改參數(shù):NoExecute=AlwaysOff六、 重新安裝msdtc組件1、刪除注冊表中的鍵: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSDTC HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTC HKEY_CLASSES_ROOTCID 2、運行命令停止MSDTC服務(wù):net stop msdtc3、運行命令卸載MSDTC服務(wù):msdtc -uninstall4、運行命令重新安裝MSDTC服務(wù):msdtc install結(jié)果依舊,最后這臺電腦真的是頑固??!

7、好吧,網(wǎng)上能夠找到的都試完了,看來得自已動手分析了。七、 重新分析過程及問題的根本原因仔細(xì)觀察登錄時的錯誤提示,當(dāng)服務(wù)器處輸入的是計算機名“KIS”時,如下圖:當(dāng)服務(wù)器處輸入的是IP地址“”時,如下圖:得到的結(jié)論是:輸入IP和計算機名,得到的結(jié)果不相同。輸入IP能夠獲取賬套信息,而輸入計算機名則連賬套信息均不能獲取。但是,既然輸入IP已經(jīng)獲取到賬套信息,由于我們知道KIS的專業(yè)版的賬套信息是存放在SQL數(shù)據(jù)庫中的,說明通過IP連接數(shù)據(jù)庫是一切正常的了。那么,現(xiàn)在我們已經(jīng)在服務(wù)器中輸入IP地址來連接數(shù)據(jù)了,為什么選擇了賬套后再確定,還是登錄不了呢?難道金蝶最終并沒有真正使用IP地址來連接數(shù)據(jù)庫,

8、而是又重新使用計算機名來連接了嗎?為了驗證我的想法,我在服務(wù)器上打開了賬套信息數(shù)據(jù)庫“AcctCtl”,找到其中的表“t_ad_kdAccount_gl”。呵呵,果然是這樣,其中的“FConnectString”字段記錄了每個賬套的連接字符串,形如:“Provider=SQLOLEDB.1;User ID=KISAdmin;Password=ypbwkfyjhyhgzj;Data Source=KIS;Initial Catalog=KIS_Sample”,根據(jù)我們二次開發(fā)的經(jīng)驗,金蝶KIS專業(yè)版在通過登錄時,獲取到賬套信息后,顯然是用賬套信息中的連接字符串再進一步的查詢數(shù)據(jù)了。上述分析也說明

9、了為什么先前一臺電腦通過修改HOSTS能夠正常訪問了:我們在登錄時輸入的IP地址僅用于獲取賬套信息,而之后系統(tǒng)再次使用計算機名訪問數(shù)據(jù)庫,所以當(dāng)由于某些系統(tǒng)服務(wù)未開啟或防火墻軟件的原因,計算機名不能正確解析時,HOSTS文件就生效了,幫助系統(tǒng)將計算機解析為IP地址,然后即可正常訪問了。但是,為什么最后一臺還是不行呢?金蝶KIS專業(yè)版將錯誤提示封裝了,就好像IE瀏覽器的“錯誤友好提示”一樣,讓人摸不著頭腦。那么要嘗試找找有沒有更詳細(xì)的信息了,經(jīng)過一番搜索,在C:WINDOWSSYSTEM32KISCOM中找到一個登錄的錯誤日志文檔“KISSVRMGR_1001.log”,用記事本打開一看,內(nèi)容主

10、要形如:01-29 09:25:24 ERROR AcctMgr:GetAccountList()Error number: -2147217843Source: Microsoft OLE DB Provider for SQL ServerDesc: 用戶 'KISAdmin' 登錄失敗。01-29 09:25:48 ERROR AcctMgr:GetSuperPropString()Error number: -2147467259Source: Microsoft OLE DB Provider for SQL ServerDesc: DBNETLIBConnectio

11、nOpen (Connect().SQL Server 不存在或拒絕訪問。哎,還是封裝過的,不好判斷啊。那么,有沒有辦法顯示更直接的提示呢?既然用KIS專業(yè)版不行,那么咱們用SQL自帶的客戶端工具來登錄試試!客戶端一般沒有安裝SQL,沒關(guān)系,打開隨身攜帶的綠色版SQL管理工具“SQLManager”(也就是企業(yè)管理器和查詢分析器的獨立打包)。使用查詢分析器“isqlw.exe”來測試登錄效果。輸入IP地址和用戶名密碼,果然能夠正常登錄。再輸入計算機名和用戶名密碼,也同樣不出意料,沒能夠正常登錄,彈出了以下錯誤:細(xì)心的讀者您注意到了嗎?錯誤提示中有什么東西和一般不同?對,就是多了“Multi-P

12、rotocol”這個詞。上網(wǎng)再一番狂搜,獲得許多雜亂的信息,我將各處信息綜合整理如下:客戶端與服務(wù)器的連通需要通訊庫的支持,SQL Server 2000 的通訊庫NET-LIBRARY網(wǎng)絡(luò)協(xié)議通信庫支持多種網(wǎng)絡(luò)協(xié)議:1. Named pipes協(xié)議(命名管理),使用NT SMB端口(TCP139,UDP137,138)來進行通信; 2. IP Sockets協(xié)議(TCP/IP),使用TCP1433端口;3. Multi-Protocol(多協(xié)議),默認(rèn)情況下使用TCP隨機端口,客戶端需要支持NT RPCs;4.NWLink協(xié)議;5.AppleTalk (ADSP)協(xié)議;6.Banyan Vi

13、nes協(xié)議。但一般來說,我們平常使用都是選擇TCP/IP或命名管道協(xié)議通信庫。遇到SQL Server 不存在或訪問被拒絕的問題,我們就應(yīng)該檢查這些協(xié)議的配置情況,保證服務(wù)器和客戶端使用同一種通訊協(xié)議即可。檢查服務(wù)器端的網(wǎng)絡(luò)配置是否啟用了命名管道、 TCP/IP 協(xié)議等等。我們可以利用 SQL Server 自帶的服務(wù)器網(wǎng)絡(luò)使用工具。 點擊:程序 - Microsoft SQL Server - 服務(wù)器網(wǎng)絡(luò)使用工具,打開該工具后看到的畫面如下圖所示: 從這里我們可以看到服務(wù)器啟用了哪些協(xié)議。一般如上圖可能只啟用了命名管道和TCP/IP這兩種協(xié)議,所以客戶端如果使用其他協(xié)議連

14、接將會連接不上。如需進一步檢查 SQK Server 服務(wù)默認(rèn)端口的設(shè)置,我們可以點中 TCP/IP 協(xié)議,再點擊"屬性",如下圖所示: 一般而言,我們使用 SQL Server 默認(rèn)的1433端口。對于"隱藏服務(wù)器"選項,只是限制客戶端通過枚舉服務(wù)器來枚舉這臺服務(wù)器,僅是保護功能,不影響連接。 客戶端連接服務(wù)器是也是通過NET-LIBRARY網(wǎng)絡(luò)協(xié)議通信庫實現(xiàn)的,微軟的MDAC組件提供了NET-LIBRARY網(wǎng)絡(luò)協(xié)議通信庫,如DBNMPNTW.DLL命名管道協(xié)議和DBMSSOCN.DLLTCP/IP協(xié)議,其上層的數(shù)據(jù)庫訪問基本組件ADO、OLEDB、O

15、DBC、DB-LIBRARY等都是在此基礎(chǔ)上實現(xiàn)與服務(wù)器的數(shù)據(jù)訪問通訊的。打開客戶端網(wǎng)絡(luò)工具,如下圖所示:如果沒有安裝SQL客戶端工具,但成功安裝MDAC28之后,也可以對系統(tǒng)注冊表項:HKEY_LOCAL_MACHINESOFTWARE MicrosoftMSSQLServerClientConnectTo下面各配置項的查看和修改來實現(xiàn)對客戶端網(wǎng)絡(luò)使用屬性的配置。這個配置節(jié)點下面的配置項實際上該客戶端可以連接的服務(wù)器別名列表。服務(wù)器的別名是客戶端應(yīng)用程序用來連接的服務(wù)器的偽名稱,其連接屬性參數(shù)中的服務(wù)器是真正的服務(wù)器名稱,兩者可以相同或不同。服務(wù)器別名的定義規(guī)則如下:<服務(wù)器別名>

16、;=<網(wǎng)絡(luò)協(xié)議通信庫>,<連接屬性> 假定我們有一個SQL SERVER 2000服務(wù)器SQL_SERVER,具有實例TESTDATA,IP地址為.10,定義其別名為DATASERVER,服務(wù)器上同時支持命名管道協(xié)議和TCP/IP協(xié)議,且TCP/IP的默認(rèn)端口為1433。 對于命名管道協(xié)議,則別名配置如下: DATASERVER = DBNMPNTW,SQL_SERVERTESTDATA 或 DATASERVER = DBNMPNTW,.10TESTDATA 注意,這里的服務(wù)器機器名SQL_SERVER和服務(wù)器IP地址.10是等價的。有時候客戶端和服務(wù)器不在同一個局域網(wǎng)

17、里面,這時候很可能無法直接使用服務(wù)器名稱來標(biāo)識該服務(wù)器,這時候我們可以使用IP地址來直接指定;這與下文將要提及的HOST文件方式有異曲同工之處。 對于TCP/IP協(xié)議,則別名配置如下: DATASERVER = DBMSSOCN,.10TESTDATA,1433 注意,這里使用服務(wù)器的IP地址.10,和指定的1433端口需保持和服務(wù)器一致。 有時,客戶端缺少相關(guān)的組件DLL也可能會導(dǎo)致無法連接,此時,應(yīng)檢查網(wǎng)絡(luò)庫中所需的組件DLL文件,如下圖所示:如果缺少上圖所示相關(guān)組件,請到服務(wù)器中拷貝同名文件到本地并用regserver32.exe注冊。至此,真相大白,原來是通訊協(xié)議惹的禍。我們參考上述資

18、料,可以通過修改注冊表或者利用客戶端網(wǎng)絡(luò)工具來添加別名的方法來解決問題,方法如下:八、 終極解決辦法之一:注冊表添加別名法修改注冊表HKEY_LOCAL_MACHINESoftwareMicrosoftMSSQLServerClientConnectTo中DSQUERY的鍵值為DBNETLI;然后在HKEY_LOCAL_MACHINESoftwareMicrosoftMSSQLServerClientConnectTo中增加別名項,鍵名為KIS,值為:DBMSSOCN,192.168.1.200,1433;九、 終極解決辦法之二:客戶端網(wǎng)絡(luò)工具添加別名法那么,萬一我們手中沒有客戶端網(wǎng)絡(luò)工具,又

19、怕修改注冊表格式易出錯,該怎么辦呢?且看山人妙計(事實上我在客戶這邊也是按以下方法處理的,因此個人推薦使用以下方法):十、 終極解決辦法之三:ODBC添加數(shù)據(jù)庫訪問別名法從開始菜單中打開控制面板,找到管理工具中的ODBC數(shù)據(jù)源:先檢查看系統(tǒng)原來是怎樣的,選擇“LocalServer”之后,點擊“配置”,再在彈出的對話框中點擊“下一步”:再在又彈出的對話框中點擊“客戶端配置”,如下圖所示:確實選擇了Multiprotocol多協(xié)議。將其改正如下:當(dāng)然,這樣做還是不夠的。這只是修改了本機默認(rèn)的訪問協(xié)議,我們的目的主要是添加服務(wù)器的別名,準(zhǔn)確說,只有按如下操作之后才能夠?qū)ξ覀兊腒IS專業(yè)版系統(tǒng)生效:在上述圖示上點擊“添加”按鈕,再出現(xiàn)下圖:點擊上圖的“完成”按鈕后,將出現(xiàn)下圖:再點擊“下一步”,出現(xiàn)下圖:再點擊了“客戶端配置”之后,出現(xiàn)下圖:按上圖再根據(jù)您的實際情況填寫,這步是最關(guān)鍵的一步,切記!然后點擊“確定”按鈕:在回到的上圖中,再按以上內(nèi)容填寫,再點擊“下一步”:再在上圖中點擊“下一步”,出現(xiàn)下圖:再在上圖中點擊“完成”按鈕,出現(xiàn)下圖:點擊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論