全国车险保费收入:来看看这两句ASP的链接有什么区别?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/05 19:15:11
connstr="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("db1.mdb")

ConnStr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db1.mdb")

在用法上有什么不同吗?

呵呵,这个问题是很常见的也是很容易忽视的问题。

先回答你的问题。
第一句用的是OLEDB数据连接引擎,而第二句用的是无DSN的字符串ODBC数据连接。他们是彼此不同的连接方式(虽然效果都是一样的。)

值得注意的是,OLE DB对ODBC的兼容性,允许OLE DB访问现有的ODBC数据源。其优点很明显,由于ODBC相对OLE DB来说使用得更为普遍,因此可以获得的ODBC驱动程序相应地要比OLE DB的要多。这样不一定要得到OLE DB的驱动程序,就可以立即访问原有的数据系统。
提供者位于OLE DB层,而驱动程序位于ODBC层。如果想使用一个ODBC数据源,需要使用针对ODBC的OLE DB提供者,它会接着使用相应的ODBC驱动程序。如果不需要使用ODBC数据源,那么可以使用相应的OLE DB提供者,这些通常称为本地提供者(native provider)。
可以清楚地看出使用ODBC提供者意味着需要一个额外的层。因此,当访问相同的数据时,针对ODBC的OLE DB提供者可能会比本地的OLE DB提供者的速度慢一些。

OLEDB处于ODBC层和应用之间。对于ASP页面来说,ADO是OLEDB上面的一种“应用”。所以在连接数据库的时候OLEDB速度更快。也就是你的第一种连接方法更快。