关于ACCESS数据库连接方式
作者:随然 日期:2009-06-11
关于数据库的连接,从2002开始做网站就在使用了,那时候版本还比较老,随便怎么就在连接,反正无所谓,只要能用就可以。所以也就没引起太多的注意。其实,在开发ASP的时候,偶尔就遇到程序莫名其妙的报错,说什么数据库连接不对,查看自己的程序书写又是合符规范的,后来才想到是数据库连接方式的问题。
在做ASP系统的时候,上面的代码应该来说接触的非常多了。可就是很好引起重视,所以今天在开发成绩查询系统的时候就出问题了。本来代码是没问题的,最开始是使用的JET方式连接,后来在粘贴代码的时候就一下改成Microsoft Access Driver 方式连接了,既然都粘贴覆盖了,也没去管了,觉得只要能运行就可以了。但后来发现很多页面报错。以前运行都没问题,现在却突然报错,提示字段不能循环引用。我就努力回忆是不是修改到什么代码了,但确实又没有修改过当前页面。后来才想起是上次不经意修改到了数据库连接方式。赶紧去修改过来,一刷新就没问题了。看来,数据库连接方式真的很重要啊!ODBC连接方式确实有点老了,而且微软已经停止更新了。不仅如此,我把另外一个程序的数据库连接方式也改成了JET方式,发现程序运行速度明显加快,呵呵!以后一定要规范了,不能随便乱用了!
复制内容到剪贴板 程序代码
db="data/abc.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
'如果你的服务器采用较老版本Access驱动,请用下面连接方法
'connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(db)
conn.Open connstr
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
'如果你的服务器采用较老版本Access驱动,请用下面连接方法
'connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(db)
conn.Open connstr
在做ASP系统的时候,上面的代码应该来说接触的非常多了。可就是很好引起重视,所以今天在开发成绩查询系统的时候就出问题了。本来代码是没问题的,最开始是使用的JET方式连接,后来在粘贴代码的时候就一下改成Microsoft Access Driver 方式连接了,既然都粘贴覆盖了,也没去管了,觉得只要能运行就可以了。但后来发现很多页面报错。以前运行都没问题,现在却突然报错,提示字段不能循环引用。我就努力回忆是不是修改到什么代码了,但确实又没有修改过当前页面。后来才想起是上次不经意修改到了数据库连接方式。赶紧去修改过来,一刷新就没问题了。看来,数据库连接方式真的很重要啊!ODBC连接方式确实有点老了,而且微软已经停止更新了。不仅如此,我把另外一个程序的数据库连接方式也改成了JET方式,发现程序运行速度明显加快,呵呵!以后一定要规范了,不能随便乱用了!
用ADO连接数据库的三种方法及其性能比较
作者:随然 日期:2009-06-11
ADO连接数据库通常有三种方法:System DSN Connection,DSN-less Connection 和 OLE DB Connection,这是大家都非常熟悉的,他们的使用方法如下:
(注:三种方法的差别在于使用的是哪个关键字 - DSN,Driver,Data Source,Provider。UID,PWD 是 ODBC 的标记,User ID,Password 是 OLEDB 的标记。特别指出的是 Data Source 在 ODBC 标记中表示数据源,等同于 DSN,在 OLEDB 标记中表示服务器名或数据库名。)
(注:三种方法的差别在于使用的是哪个关键字 - DSN,Driver,Data Source,Provider。UID,PWD 是 ODBC 的标记,User ID,Password 是 OLEDB 的标记。特别指出的是 Data Source 在 ODBC 标记中表示数据源,等同于 DSN,在 OLEDB 标记中表示服务器名或数据库名。)
复制内容到剪贴板 程序代码
’System DSN Connection
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "DSN=your_dsn;UID=user_name;PWD=password;"
’或用 OLEDB 标记
cnn.Open "Data Source=your_dsn;User ID=user_name;Password=password;"
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "DSN=your_dsn;UID=user_name;PWD=password;"
’或用 OLEDB 标记
cnn.Open "Data Source=your_dsn;User ID=user_name;Password=password;"
复制内容到剪贴板 程序代码
’DSN-less Connection