asp

位置:IT落伍者 >> asp >> 浏览文章

另类:ASP不用DSN访问数据库


发布日期:2023年01月22日
 
另类:ASP不用DSN访问数据库

一个DSN连接需要服务器的系统管理员在服务器上用控制面板中的ODBC工具设置一个DSN或者使用一个第三方的服务器组件让你的ASP脚本在需要时通过修改注册表建立DSN

一个DSN连接通常需要的参数有:DSN名用户名口令例如我们用用户名student口令magic通过DSNstudent建立连接:

set conntemp=servercreateobject(nnection)

conntempopen DSN=Student; uid=student; pwd=magic

set rstemp=conntempexecute(select * from authors)

如果我们没有DSN该怎么做呢?

但是我们知道文件名(比如AccessParadoxFoxPro的数据库)或者数据源名(例如SQLserver的数据库)这里有一个方法我们不要DSN就可以访问数据库注意你必须知道实际的文件路径!比如: C:\thatserver\account\nwindmdb

幸好方法 servermappath 可以返回服务器上的地址

set conntemp=servercreateobject(nnection)

cnpath=DBQ= & servermappath(yourtablemdb)

conntempOpen DRIVER={Microsoft Access Driver (*mdb)}; & cnpath

set rstemp=conntempexecute(select * from authors)

<HTML><HEAD>

<TITLE>nwindasp</TITLE>

<body bgcolor=#FFFFFF></HEAD>

<%

set conntemp=servercreateobject(nnection)

不用DSN建立连接

DSNtemp=DRIVER={Microsoft Access Driver (*mdb)};

DSNtemp=dsntemp & DBQ= & servermappath(nwindmdb)

conntempOpen DSNtemp

不用DSN建立连接

set rstemp=conntempexecute(select * from customers where country=germany)

howmanyfields=unt

%>

<table border=>

<tr>

<% Put Headings On The Table of Field Names

for i= to howmanyfields %>

<td><b><%=rstemp(i)name %></B></TD>

<% next %>

</tr>

<% Now lets grab all the records

do while not rstempeof %>

<tr>

<% for i = to howmanyfields%>

<td valign=top><%=rstemp(i)%></td>

<% next %>

</tr>

<% rstempmovenext

loop

rstempclose

set rstemp=nothing

conntempclose

set conntemp=nothing%>

</table>

</BODY>

</HTML>

下面是典型的DRIVER参数值:

{Microsoft Access Driver (*mdb)}

driver=SQL Server; server=

^ SQLServer的IP地址

不通过数据源访问SQL和ACCESS

Using SQL Server :

set Conn = ServerCreateObject(ADODBConnection)

ConnOpen driver=SQL Server; server=server_name; uid=your_UID; pwd=your_PW; database=your_database;

Using Access:

set Conn = ServerCreateObject(ADODBConnection)

ConnOpen DRIVER={Microsoft Access Driver (*mdb)}; DBQ=c:\www\db\guestbookmdb

上一篇:Asp编码优化技巧8则

下一篇:ASP讲座之八:ASP与数据库(三)