2.现在我们可以通过ASP来存取数据库,实现动态效果。但还有一个问题:现在提供ASP支持的个人免费网页,大多数并不提供数据库的支持。也就是说,你无法在它的数据库系统中建立并拥有自己的数据库。若用本地数据库,你也无法配置服务器主机中的ODBC,无法得到你本地数据库的DSN,也就不能通过ASP来存取数据库了。怎么解决这个问题呢?下面的讨论将给出一个简单的方法,那就是FILE DSN。
首先解释几个名词
DSN:根据MICROSOFT的官方文档,DSN的意思是“应用程序用以请求一个连到ODBC数据源的连接(CONNECTION)的名字”,换句话说,它是一个代表ODBC连接的符号。它隐藏了诸如数据库文件名、所在目录、数据库驱动程序、用户ID、密码等细节。因此,当建立一个连接时,你不用去考虑数据库文件名、它在哪儿等等,只要给出它在ODBC中的DSN即可。
FILE DSN: 当我们讨论这个问题时,先看看其他的DSN类型
SYSTEM DSN:这种DSN可以被任何登录到系统中的用户使用。
USER DSN:这是为特定用户建立的DSN。只有建立这个DSN的用户才能看到并使用它。在上面的两种情况中,DSN的细节都储存在系统的注册表中。
知道了上面的预备知识后,让我们来看看什么是FILE DSN。FILE DSN 将DSN的细节内容存贮在一个文件中,而不是存贮在系统注册表中。这个文件是简单的文本文件,用.dsn作为扩展名。
虽然这听起来挺简单,但你需要知道那些组成DSN文件的参数。下面给出一个简单的用来存取ACCESS的DSN文件,
---- file.dsn ----
[ODBC]
DRIVER=Microsoft ACCESS Driver (*.mdb)
ReadOnly=0
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=512
ImplicitCommitSync=Yes
FIL=MS ACCESS
DriverId=25
|
将它命名为file.dsn,当然,你可根据你的愿意改名。
建立了这个文件后,工作已完成了一半。下面的工作是建立一个连接。当用一个SYSTEM DSN时,建立连接只要简单地引用SYSTEM DSN:
conn.open “mydsn”(conn是连接对象的名字)
当应用如上的FILS DSN 时,你需要加入更多的参数来说明。
Conn.open “filedsn=c:\webdir\file.dsn;DBQ=c:\DATABASE\mydb.mdb;UID=admin;PWD=admin;”
C:\webdir是.dsn文件所在的目录,它需要用文件的物理路径。你可以用SERVER.MAPPATH方法来得到。
如Server.MapPath(“/mysite/file.dsn”)。同样,对于DBQ参数也需如此。UID和PWD参数是可选的。
简而概之,要建立一个可重用的FILE DSN
1)用DSN参数建立一个以dsn为扩展名的文本文件。
2)用FILEDSN和DBQ参数建立连接,你可以用SERVER.MPAPATH来得到物理路径。
3)只需更改DBQ、UID和PWD参数,就可将这个FILE DSN用到任何ACCESS数据库上。
需要注意的是,对其他非ACCESS类型的数据库需要应用不同的参数值和一些附加的参数。
查看本文来源