国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

包含文件對數(shù)據(jù)庫鏈接的影響

2024-07-21 02:04:01
字體:
來源:轉載
供稿:網(wǎng)友

  你注意到?jīng)]有,利用MX/UD開發(fā)程序時,所有需要鏈接數(shù)據(jù)庫的頁面中,都會在頁面的開始部分使用包含文件調(diào)用數(shù)據(jù)庫鏈接文件,如:

<!--#include file="Connections/con123456.asp" -->

  那么這段代碼有什么好研究的嗎?當然有研究了,如果你沒有正確使用它,那么也許你在本地調(diào)試很正常的程序,一旦傳到服務器上就出錯,一個可能的原因就是包含文件在作怪!讓我們了解一下什么是包含文件:

●包含文件

全稱:Server_Side Include ,從名稱上一看就知道應該是服務器端的包含文件,簡稱 SSI.

  SSI 為用戶提供在 Web 服務器處理之前將一個文件的內(nèi)容插入到另一個文件的方法。ASP 只使用這一機制的#include 指令。要在 .asp 文件中插入一個文件,使用下面的語法:

<!--#include virtual | file ="filename"-->

  virtual 和 file 關鍵字指示用來包含該文件的路徑的類型,filename 是您想包含的文件的路徑和名稱。

  被包含文件不要求專門的文件擴展名;但是,為被包含文件賦予 .inc 擴展名以便和其他類型文件相區(qū)分是一個良好的編程習慣。由于大部分虛擬主機服務商并沒有設置 inc 的解釋,如果填入 .inc 的文件地址,就會直接顯示在瀏覽器源代碼里。所以強烈建議在使用 include 的數(shù)據(jù)庫聯(lián)接文件還有包括有 asp 源代碼的文件時,一定要把后綴改為 .asp

Virtual 關鍵字

  使用 Virtual 關鍵字指出路徑開始于虛擬目錄。例如,如果一個被命名為 Footer.inc 的文件屬于一個名為 /Myapp 的虛擬目錄,則下面的一行將把 Footer.inc 的內(nèi)容插入到包含該行的文件中:

<!--#include virtual ="/myapp/footer.inc"-->

File 關鍵字

  使用 file 關鍵字指示使用相對路徑。相對路徑開始于含有該包含文件的目錄。例如,如果您的文件位于目錄 Myapp 中,而文件 Header1.inc 在 MyappHeaders 中,下面的一行將把 Header1.inc 插入到您的文件中:

<!--#include file ="headers/header1.inc"-->

  注意,到被包含文件 Headers/header1.inc 的路徑是相對于包含文件的;如果包含 #include 語句的腳本不在 /Myapp 目錄中,那么該語句將不起作用。

特別注意:如果在 Internet 服務管理器中的“啟用上層目錄”選項被選中,則也可以使用 file 關鍵字和 ../ 語法包含父目錄即上一層目錄中的文件。

  但一般情況下,為了安全考慮,WEB空間服務商在設置服務器時,“啟用上層目錄”選項是被禁止使用的,而你利用MX/UD開發(fā)并在本地機器上調(diào)試程序時,所有需要鏈接數(shù)據(jù)庫的頁面中,都會在頁面的開始部分使用包含文件調(diào)用數(shù)據(jù)庫鏈接文件,例如:

<!--#include file="Connections/con123456.asp" -->

如果沒有考慮到“包含父目錄”這個問題,頁面中可能會出現(xiàn):

<!--#include file="../Connections/con123456.asp" -->

類似的形式,在本地數(shù)據(jù)庫鏈接很正常(本地設置虛擬目錄時,“啟用上層目錄”選項默認是選中狀態(tài)),上傳到服務器當中就會出現(xiàn)錯誤,這是初學UD/MX來開發(fā)動態(tài)網(wǎng)站,特別是沒有ASP基礎就直接利用UD/MX學習動態(tài)開發(fā)技術的朋友們?nèi)菀缀鲆暤牡胤?。最好的方法是在本地調(diào)試程序時,將“啟用上層目錄”選項關閉(禁止使用),以獲得和遠程服務器上相同的開發(fā)環(huán)境。

設置方法如下:

  啟動IIS管理器;查看你設置的虛擬目錄/站點屬性,在彈出的屬性面板中點擊主目錄或虛擬目錄標簽,如下:

 

點擊應用程序設置區(qū)當中的[配置…]按鈕,彈出應用程序配置設置面板,如下圖:

點擊“應用程序選項”標簽,將其中的“啟用父目錄”的鉤選符號去掉。點擊確定按鈕返回。

被包含文件的位置

  被包含文件可以在您的 Web 站點內(nèi)的某個目錄中,也可以在您的 Web 站點之外。通常,您應該使被包含文件位于 Web 站點的目錄中。如果一個被包含文件位于您的 Web 站點內(nèi),則當瀏覽器下次請求包含文件時,將顯示對被包含文件的改變。但是,如果被包含文件位于您的 Web 站點之外,直到 ASP 應用程序重新啟動或 Web 服務器重新啟動時,這種改變才能體現(xiàn)出來。ASP 檢測在應用程序命名空間中(在應用程序的起始目錄下)的任何包含文件的改變。

包含文件:提示和警告

  一個被包含文件也可以包含其他的文件。如果 #include 指令沒有導致循環(huán),一個 .asp 文件可以多次包括同一個文件。例如,如果文件 First.asp 包含文件 Second.inc,則 Second.inc 一定不能再包含 First.asp。一個文件也不能包含自身。ASP 檢測此類循環(huán)或嵌套錯誤,并在檢測到時產(chǎn)生一個錯誤消息,同時停止處理被請求的 .asp 文件。

  ASP 在執(zhí)行腳本命令之前包含文件。因此,不能用腳本命令去創(chuàng)建被包含文件的名稱。例如,下面的腳本將不能打開 Header1.inc,因為 ASP 會在它分配一個文件名給變量 name 之前先執(zhí)行 #include 指令。

<!-- This script will fail -->
<% name=(header1 & ".inc") %>
<!--#include file="<%= name %>"-->

  腳本命令和過程必須完全包含在腳本定界符 <% 和 %> 、HTML 標記 <SCRIPT> 和 </SCRIPT> 或 HTML 標記 <OBJECT> 和 </OBJECT> 中。也就是說,不能在一個 .asp 包含文件中打開一個腳本定界符,然后在一個被包含的文件中才關閉該定界符;腳本或腳本命令必須是一個完整的單元。例如,下面的腳本將無法運行:

<!-- This script will fail -->
<%
For i = 1 To n
 statements in main file
 <!--#include file="header1.inc" -->
Next
%>

下面的腳本將正常運行:

<%
For i = 1 to n
 statements in main file
%>
<!--#include file="header1.inc" -->
<% Next %>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长葛市| 莱阳市| 安新县| 崇文区| 锦州市| 龙海市| 永兴县| 丰都县| 漠河县| 灌阳县| 奉化市| 南丰县| 新宁县| 垫江县| 荆州市| 武义县| 通山县| 宜丰县| 赞皇县| 噶尔县| 凤阳县| 淮安市| 栾川县| 喀喇| 武平县| 赤城县| 丰原市| 湘乡市| 长沙县| 平阴县| 慈利县| 固安县| 达尔| 琼海市| 稷山县| 蚌埠市| 洞头县| 阜宁县| 金秀| 宁夏| 康马县|