ASP設計常見(jiàn)問(wèn)題及解答精要-2 |
作者:佚名 發(fā)布時(shí)間:2009-06-22 瀏覽:2134次 |
9、問(wèn)題:我有沒(méi)有必要在每一個(gè)ASP文件中使用“Option Explicit”? 答:在實(shí)際應用中,VBScript變量的概念已經(jīng)模糊了,允許直接使用變量,而不用Dim聲明變量,但這并不是一個(gè)好習慣,容易造成程序錯誤,因為可能重復定義一個(gè)變量。我們可以在程序中使用Option Explicit語(yǔ)句,這樣在使用一個(gè)變量的時(shí)候,必須先聲明它,如果使用了沒(méi)有經(jīng)過(guò)聲明的變量,運行時(shí),程序就會(huì )出錯。 實(shí)踐證明,ASP文件中使用“Option Explicit”可以使得程序出錯機會(huì )降到最少,并且會(huì )大大提升整體性能。 10、問(wèn)題:運行ASP文件時(shí)有什么安全措施? 答:ASP提供了很好的代碼保護機制,所有的ASP代碼都在服務(wù)器端執行而只返回給客戶(hù)端代碼執行結果。但仍不排除惡意人士對Web服務(wù)器的刻意破壞,所以在編寫(xiě)ASP文件時(shí)更要注意安全問(wèn)題。 雖然在A(yíng)SP中引入文件以inc作為擴展名,在這里仍建議以ASP作為引文件的擴展名。當這些代碼在安全機制不好的Web Server上運行時(shí),只需在地址欄上輸入引入文件的地址(inc為擴展名),就可以瀏覽該引入文件的內容,這是由于在Web Server上,如果沒(méi)有定義好解析某類(lèi)型(比如inc)的動(dòng)態(tài)連接庫時(shí),該文件以源碼方式顯示。 另外,不要把數據庫文件放在網(wǎng)站結構內部,這樣,當惡意人士獲取數據庫路徑后,就可以輕易獲取該數據庫,進(jìn)而肆意更改數據庫內容。比較好的做法是,為數據庫建立數據源名稱(chēng)DSN(Date Source Name),在DSN中存儲了有關(guān)連接到指定數據提供者的信息,包括:“數據庫的物理位置,用于訪(fǎng)問(wèn)數據庫的驅動(dòng)程序的類(lèi)型,訪(fǎng)問(wèn)數據庫的驅動(dòng)程序所需要的任何其他參數”,在進(jìn)行數據庫訪(fǎng)問(wèn)時(shí)可以直接訪(fǎng)問(wèn)該DSN。 11、問(wèn)題:評介Web數據庫管理系統時(shí),應該考慮哪些問(wèn)題? 答:在評價(jià)一個(gè)Web數據庫管理系統時(shí),必須考慮到三方面的問(wèn)題:多用戶(hù)問(wèn)題;所建立的Web數據庫應該是關(guān)系型的;數據庫的安全性問(wèn)題。 12、問(wèn)題:ADO是什么,它是如何操作數據庫的? 答:ADO的全名是ActiveX Data Object(ActiveX數據對象),是一組優(yōu)化的訪(fǎng)問(wèn)數據庫的專(zhuān)用對象集,它為ASP提供了完整的站點(diǎn)數據庫解決方案,它作用在服務(wù)器端,提供含有數據庫信息的主頁(yè)內容,通過(guò)執行SQL命令,讓用戶(hù)在瀏覽器畫(huà)面中輸入,更新和刪除站點(diǎn)數據庫的信息。 ADO主要包括Connection,Recordset和Command三個(gè)對象, 它們的主要功能如下: ·Connection對象:負責打開(kāi)或連接數據庫文件; ·Recordset對象:存取數據庫的內容; ·Command對象:對數據庫下達行動(dòng)查詢(xún)指令,以及執行SQL Server的存儲過(guò)程。 13、問(wèn)題:使用Recordset對象和Command對象來(lái)訪(fǎng)問(wèn)數據庫的區別在哪里? 答:Recordset對象會(huì )要求數據庫傳送所有的數據,那么數據量很大的時(shí)候就會(huì )造成網(wǎng)絡(luò )的阻塞和數據庫服務(wù)器的負荷過(guò)重,因此整體的執行效率會(huì )降低。 利用Command對象直接調用SQL語(yǔ)句,所執行的操作是在數據庫服務(wù)器中進(jìn)行的,顯然會(huì )有很高的執行效率。特別是在服務(wù)器端執行創(chuàng )建完成的存儲過(guò)程,可以降低網(wǎng)絡(luò )流量,另外,由于事先進(jìn)行了語(yǔ)法分析,可以提高整體的執行效率。 14、問(wèn)題:是否必須為每一個(gè)Recordset對象創(chuàng )建一個(gè)Connection對象? 答:可以同時(shí)對不同的Recordset對象使用相同的Connection對象,以節省資源。 15、問(wèn)題:什么是數據庫管理系統(DBMS)? 答:數據庫為了保證存儲在其中的數據的安全和一致,必須有一組軟件來(lái)完成相應的管理任務(wù),這組軟件就是數據庫管理系統,簡(jiǎn)稱(chēng)DBMS,DBMS隨系統的不同而不同,但是一般來(lái)說(shuō),它應該包括以下幾方面的內容: 數據庫描述功能:定義數據庫的全局邏輯結構,局部邏輯結構和其他各種數據庫對象; 數據庫管理功能:包括系統配置與管理,數據存取與更新管理,數據完整性管理和數據安全性管理; 數據庫的查詢(xún)和操縱功能:該功能包括數據庫檢索和修改; 數據庫維護功能:包括數據引入引出管理,數據庫結構維護,數據恢復功能和性能監測。 為了提高數據庫系統的開(kāi)發(fā)效率,現代數據庫系統除了DBMS之外,還提供了各種支持應用開(kāi)發(fā)的工具。 16、問(wèn)題:當前流行的WEB數據庫管理系統有哪些? 答:當前流行的Web數據庫管理系統有微軟的SQL Server、Oracle、DB2、Sybase,小規模的企業(yè)多使用Access。 |