更改ASP .mdb访问DSN Less Connection?

时间:2012-10-03 07:42:26

标签: asp-classic connection-string

我有一个旧的ASP站点(很久以前由一名前员工编写),它使用DSN连接到2003 ODBC数据库。我们的主机已将服务器更新到2008,我们不能再使用ODBC,因此我必须建立DSN-Less连接。

不幸的是,我对ASP和通过ASP的数据库连接知之甚少。我想知道是否有人可以帮我改变代码以连接到没有ODBC的Access数据库?

我认为它使用此代码进行连接:

<%
' Get current name of region and intro text
Dim objRec, sql, introtext
sql="SELECT * FROM hometext WHERE home_id = 1"
set objRec=Server.CreateObject("ADODB.Recordset")
objRec.Open sql, "dsn=databasename"
introtext = Replace(objRec("home_introtext"), vbCrLf, "<br />")

' 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=databasename"

' Get all images to appear to page
Dim objRec3, sql3
sql3="SELECT * FROM homeimages ORDER BY homeimage_date DESC"
set objRec3=Server.CreateObject("ADODB.Recordset")
objRec3.Open sql3, "dsn=databasename"

' Get the next 5 events from the current date
Dim objRec4, sql4
sql4="SELECT TOP 5 event_date, event_name FROM events WHERE event_date >= " &         niceDateAccess(Date()) & " ORDER BY event_date"
set objRec4=Server.CreateObject("ADODB.Recordset")
objRec4.Open sql4, "dsn=databasename"
%>

我不确定它是如何连接的,我不是一个脚本编写者。

任何(愚蠢的)帮助将不胜感激!

由于

编辑:数据库位于服务器根文件夹中的“私人”文件夹中。

1 个答案:

答案 0 :(得分:1)

以下是示例代码。更改您的数据库名称和表字段名称

set conob = Server.CreateObject("ADODB.Connection")
conob.Provider="Microsoft.Jet.OLEDB.4.0"
conob.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.MapPath("YourDatabaseName.mdb")
Set rsuni = Server.CreateObject("ADODB.Recordset")
sqlStr="select * from Student_Entry"

rsuni.open sqlStr,conob

您必须为您登录的用户提供对数据库的完全访问权限。