在网上查询了Microsoft OLE DB Provider for Microsoft Jet的资料:发现对于带有密码的access数据库,要在相应的连接字符串参数中进行标注,文章里面还说明了:mdb数据的密码其实是DBPROPSET_JETOLEDB_DBINIT属性里面的DBPROP_JETOLEDB_DATABASEPASSWORD ,我们可以通过对初始化DBPROP_INIT_PROVIDERSTRING对其进行修改,也就是我们平时所说的连接字符串,这下问题就剩下寻找定义数据库密码属性的关键字了。我们发现,其关键字为Jet OLEDB:Database Password,然而在OpenRowSet函数中,由于微软为了兼容性的考虑吧,其关键字为pwd,貌似采用的是odbc的命名模式?
| DBPROP_INIT_PROVIDERSTRING Description: Extended Properties |
|
| DBPROP_JETOLEDB_DATABASEPASSWORD | Type: VT_BSTR Typical R/W: R/W Description: Jet OLEDB:Database Password Password used to open the database. This differs from the user password in that the database password is per file, while a user password is per user. |