2009-06-23 43 views
0

極少看到下面的錯誤在網站上登錄我管理:經典ASP腳本的間歇性ADO Recordset對象錯誤

參數的錯誤類型,是 超出可接受的範圍,或在 與另一個衝突

當我自己訪問經典的ASP頁時,我不能重複該問題。值得注意的是,用戶代理是幾乎總是:

ia_archiver(+ http://www.alexa.com/site/help/webmasters; [email protected]

的腳本是一個產品搜索頁面,它使用相當標準的ASP頁面。相關代碼如下所示:

... 
Set rs=Server.CreateObject("ADODB.Recordset")  
rs.CacheSize = iPageSize 
rs.PageSize = iPageSize 
rs.Open mySQL, Conntemp, adOpenStatic, adLockReadOnly, adCmdText 
... 

我相當肯定的是,光標和鎖定類型是否正確。顯然,如果他們錯了,我希望腳本根本不能工作。我能想到的唯一的事情就是這是記錄集對象仍然處於打開狀態(以及連接池)的事情,而Alexa蜘蛛再次擊中站點,導致衝突。

有沒有人有任何想法如何解決這個問題?這種錯誤很少發生(500,000頁面瀏覽量每月1次),但仍然可以確保沒有錯誤。我認爲唯一可以解決的方法是使用robots.txt將機器人從此頁面中排除。

問候

幫派

回答

2

你開始將其擲入功能之前,你在執行從瀏覽器中輸入一些檢查,可能是我們假定你是一個變量將是好當它可能不是?

例如,你的查詢字符串是什麼樣的?

如果它是這樣的?page = 4,並且您將它作爲您想要的頁面閱讀,因爲它一定是從您的代碼生成的。如果我只是輸入了,而且沒有第4頁,會發生什麼?我認爲這更可能是你的問題。

可能是Alexa猜測你可能有一個頁面的負載,它只能從你的查詢字符串索引。即它可能會看到你總是有類似的東西?page = X這樣循環遍歷它們以確保它們全部得到並在出現錯誤/ 404時停止?只是吐在那個球上。

+0

哦,最終,它只有1:500,000的錯誤,所以不要擔心它太多;) – 2009-06-23 11:06:57