胡润百富榜1999名单:来看看这两句ASP的链接有什么区别?
来源:百度文库 编辑:神马品牌网 时间:2024/08/31 02:34:18
connstr="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("db1.mdb")
ConnStr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & 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速度更快。也就是你的第一种连接方法更快。