讨论一下连接字符串的区别及优缺点

fxy_2002 2004-07-08 02:38:56
1) connstr ="Provider = Microsoft.Jet.OLEDB.4.0; Data Source = db1.mdb"

2) connstr ="Driver={Microsoft Access Driver (*.mdb)};DBQ = db1.mdb"

同样通过 ADODB.connection 连接,以上两个连接字符串都能正确连接到 access 的 mdb 数据库。它们的区别在哪里?是调用的中间层不同?还是底层驱动不同?哪个更值得采纳?
...全文
164 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
frankwong 2004-07-08
  • 打赏
  • 举报
回复
up
fxy_2002 2004-07-08
  • 打赏
  • 举报
回复
并且我发现,如果改变了默认的 access 工作组信息文件后,打开有密码的 mdb 数据库第一种方式会报错“工作组信息文件丢失”;而第二种方法不受影响能正常操作。
fxy_2002 2004-07-08
  • 打赏
  • 举报
回复
如果用户的电脑上没有 Microsoft.Jet.OLEDB.4.0 ,比如只有 Microsoft.Jet.OLEDB.3.5 那第一种调用方式会不会失败?而第二种方式好象不会有版本的冲突问题。

个人感觉,不知道是不是这样。
lihonggen0 2004-07-08
  • 打赏
  • 举报
回复
这是几年前的ADO文档:

ActiveX Data Objects (ADO) 是微软最新的数据访问技术。它被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提供通用数据访问(Universal Data Access)。OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。
ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB provider)。微软正积极推广该技术,并打算用OLE DB取代ODBC。

详细的说明见MSDN

建议用第一种方式!
射天狼 2004-07-08
  • 打赏
  • 举报
回复
http://www.connectionstrings.com/
上这里看看吧!!
lihonggen0 2004-07-08
  • 打赏
  • 举报
回复
第一个是OLE DB的方式

第二个是ODBC的方式

推荐用第一种方式,是经过优化的

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧