第一种就是常说的ODBC方式连接数据库。第二种是微软自己开发的OLE DB。
OLE DB可以连接各种类型的数据源,比ODBC灵活。(连ACCESS等关系数据库当然体现不出来了,它可以连活动目录、exchange等,ODBC就不可以。)
第二种方式下,常会看到这样的错误:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)等等等等。。
这实际上是在win98/2000系统中,ODBC和数据库之间上还夹着OLE DB,也就是你的数据访问走的是ADO->ODBC->OLE DB->数据库,OLE DB方式直接省掉ODBC,要快一点点。
OLE DB Provider:
oConn.Open "Provider=sqloledb;" & _
"Data Source=myServerName;" & _
"Initial Catalog=myDatabaseName;" & _
"User Id=myUsername;" & _
"Password=myPassword;"
ODBC(Open Database Connectivity), industry standard, widely used, more database drivers, but performance suffers when used in ADO, since there are more layers of code to call through
OLE/DB is a set of higher performance interfaces, ADO is just a wrapper for these interfaces, so using OLE DB is faster in ADO