最近,我們單位內(nèi)部局域網(wǎng)上設立了一個Web網(wǎng)站,網(wǎng)站操作系統(tǒng)采用的是Windows NT,管理系統(tǒng)用的是IIS 4.0 Web,后臺數(shù)據(jù)庫為SQL-SERVER6.5。雖然Web網(wǎng)站所用技術都是成熟的,但由于涉及環(huán)節(jié)較多,開始時對一些技術細節(jié)不夠了解,所以在試開通網(wǎng)站時出現(xiàn)了幾個問題……
?站點登錄手續(xù)麻煩
按設計,從局域網(wǎng)上各工作站訪問Web站點時,只要輸入相應地址就行了。而剛開始的情況是,輸入地址后不但要求輸入用戶名,而且只有用系統(tǒng)管理員身份登錄才能正常操作,真是很麻煩。
!解決
進入目錄安全設置頁面,將授權方式中的“允許匿名訪問”選項選中,為了能通過FrontPage等頁面設計工具維護站點,需同時選中第三項。進一步在其編輯框中輸入匿名用戶的計賬用戶名和口令。按說,完成了上述工作,任意一局域網(wǎng)上用戶訪問站點時,就不再需要輸入用戶名和相應口令,系統(tǒng)會自動使用匿名用戶的計賬用戶名和口令。可問題并沒有這么簡單,經(jīng)再次查看有關設置,發(fā)現(xiàn)只要將“匿名用戶計賬”編輯框中的“可自動同步口令”選框選中,就不再需要輸入口令,即解決了問題。
?與數(shù)據(jù)庫相關的頁面訪問時出錯
在解決了問題一后,匿名用戶在訪問與數(shù)據(jù)庫相連的網(wǎng)頁時,又出現(xiàn)了與數(shù)據(jù)庫的連接失敗錯誤,系統(tǒng)提示信息:連接ODBC數(shù)據(jù)源失敗。而用系統(tǒng)管理員身份登錄時,則一切正常。
!解決
顯然,問題的根源是出在ODBC數(shù)據(jù)源的設置方面,而且與訪問權限有關。為了實現(xiàn)動態(tài)頁面功能,我們用VBScript語言編寫了ASP代碼,通過ODBC訪問數(shù)據(jù)庫,查看ODBC設置。經(jīng)查看發(fā)現(xiàn),訪問SQL-SERVER中關于用戶授權驗證選項用了Windows NT網(wǎng)絡授權,改成SQL-SERVER授權選項后,問題就解決了。
?數(shù)據(jù)庫中表字段寬度不夠
通過IE查詢數(shù)據(jù)庫中表的內(nèi)容,發(fā)現(xiàn)當輸入的查詢條件為一位數(shù)字月份時,結果正常,可如果是兩位數(shù)字(如10、11、12)則不正常。通過查表結構,我發(fā)現(xiàn)原來是相關字段寬度短了一位,所以必須擴充字段寬度。
!解決
我發(fā)現(xiàn),在保留表中內(nèi)容的前提下,擴充字段寬度,MS SQL-SERVER系統(tǒng)沒有直接修改的語句,所附管理工具中也沒有直接修改的功能。在不借助第三方工具的情況下,我找到了下面的方法:
1.在數(shù)據(jù)庫中建一張臨時表,表結構與實際所需相同;
2.用Insert Into 語句將原表中的內(nèi)容完整轉(zhuǎn)入臨時表中;
3.修改表名,將臨時表名修改為原表名即可。
在完成了對數(shù)據(jù)庫表結構的修改后,在使用VB設計的數(shù)據(jù)維護程序編輯表中內(nèi)容時,相關字段仍不能按新寬度錄入數(shù)據(jù)。再查表結構,確認是正確的,所以只好查看錄入程序的設計,從中發(fā)現(xiàn),相關字段的輸入控件屬性中,最大長度一項已被系統(tǒng)自動定為原字段長度,所以只要將其改為新字段長度,重新編譯錄入程序,再執(zhí)行,一切正常。
■小結:
上述幾個問題,回過頭來看并不難,但在建立Web站初期,由于一方面要趕進度,另一方面要全面熟悉與Web站點設計相關的每一個技術細節(jié),確實也不易。這些小問題也曾大大地“折騰”了我一陣,我覺得如果將這些問題及其解決方法整理出來,與大家交流的話,或許對那些正在或?qū)⒁龅筋愃坡闊┑耐蕚冇兴砸妗?TABLE cellSpacing=1 cellPadding=0 width="50%" align=center bgColor=#ff9900 border=0>
考試吧 |
文章責編:liujun1987 看了本文的網(wǎng)友還看了
版權聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。
Copyright © 2004-
考試吧軟件水平考試網(wǎng) All Rights Reserved
中國科學院研究生院權威支持(北京) 電 話:010-62168566 傳 真:010-62192699
|