2012-10-19 89 views
0

對不起,如果這不是適當的地方提出這個問題,但我是新來的論壇。ASP DSN-少連接問題

我的問題涉及ASP和DSN-less連接。我有一個網站,它很早以前使用DSN連接到一個在2003服務器上運行的Access數據庫。我必須複製這個網站,但我們的服務器(通過Fasthosts託管)現在是2008服務器,並且不支持ODBC。

我已經建立了DSN-less連接,但我仍然沒有明白,因爲我不斷收到對象:每個頁面上都有'object'。我對ASP並不是很瞭解,所以如果有人能提供一些很好的答案!

原代碼我是這樣的:

//Get the 5 newest news items 
Dim objRec2, sql2, 
newstext sql2="SELECT TOP 5 news_date, news_text FROM news ORDER BY news_date DESC" 
set objRec2=Server.CreateObject("ADODB.Recordset") 
objRec2.Open sql2,  "dsn=database" 

然後我改變了這個:

//Get the 5 newest news items 
set conob2 = Server.CreateObject("ADODB.Connection") 
conob2.Provider="Microsoft.Jet.OLEDB.4.0" 
conob2.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.MapPath("database.mdb") Set rsuni2 = Server.CreateObject("ADODB.Recordset") 
sql2="SELECT TOP 5 news_date, news_text FROM news ORDER BY news_date DESC" 
objRec2.Open sql, conob 

然後我得到的錯誤:

Microsoft VBScript runtime error '800a01a8' 
Object required: 'objRec2' 
index.asp, line 20 

我跑一個'WhileNot'語句來獲得這樣的news_text和news_date:

<%While Not objRec2.EOF 
      newstext = Replace(objRec2("news_text"), vbCrLf, "<br />") 
      %> 
      <p><span class="bold">Date: <%=objRec2("news_date")%></span><br /> 
      <%=newstext%></p> 

有人可以幫忙嗎?

非常感謝!

回答

0

您的變更後,你似乎缺少:

set objRec2=Server.CreateObject("ADODB.Recordset")

這將導致您遇到確切的錯誤(並且是無關的連接)。

+0

謝謝,我現在得到的錯誤: ADODB.Recordset當對象被關閉錯誤「800a0e78」 操作是不允許的。 /index.asp,第79行 這與'While not'行有關。 – user1607021

+0

@ user1607021檢查名稱:是否objRec2.Open sql2,conob2? – SearchAndResQ

+0

@Flakes感謝!還需要是sqlStr2。 – user1607021