徵狀
當您預覽瀏覽器中,在 Visual Basic 指令碼撰寫的程式碼時,會出現下列錯誤訊息:
記憶體不足的 Microsoft VBScript 編譯錯誤 '800a03e9'
原因
VBScript 的最大的靜態字串上限為 1,022 的字元,並會出現這個錯誤的程式碼行超過 1,022 個字元的任何時間。
解決方案
大多數情況下,錯誤的程式碼行是 SQL 陳述式因為 SELECT 陳述式可能會非常大。您可以使用下列其中之一來解決這個問題:
-
如果 [選取卻違背了單一的資料表,移除每個資料行前面的"資料表."前置詞。
-
建立變數,以保留 SELECT 陳述式中,並串連 SQL 數行,如下:
MySQL = "SELECT table.col1, table.col2 "MySQL = MySQL & "FROM table "MySQL = MySQL & "Where x = 3"
-
如果資料行數目都相當小,但選取多個資料表的 SELECT 陳述式,建立檢視。選取此選項,針對檢視表,並省略"資料表."前置詞的資料行的前面。
-
非 SQL 行的程式碼太大,則您可以使用先前所列的第二個因應措施。
狀態
產生此錯誤是系統刻意為之。