【问题标题】:Error using TADODataset component with MS Access使用带有 MS Access 的 TADODataset 组件时出错
【发布时间】:2016-09-19 13:00:08
【问题描述】:

我正在尝试用 MS Access DB 替换 InterBase DB 作为测试,我正在使用 TADOConnection 组件成功连接到 MS Access DB;但是,当我尝试使用 TADODataset 连接到表时,我可以将 Connection 属性设置为 TADOConnection 组件,但是当我想设置 CommandText 属性时,我收到以下错误:

连接字符串如下:Provider=ADsDSOObject;User ID=admin;Encrypt Password=False;Data Source=C:\StudyTime\StudyTime.accdb;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648;

有人可以帮助我吗?

【问题讨论】:

  • 你能给我们看一些代码吗?以及interbase和ms access中表的表方案?
  • 为什么要从客户端/服务器数据库迁移到桌面数据库?听起来对我来说是一大步。
  • 这个连接过程没有使用代码,我知道你退一步的意思。我编写了这个程序来帮助我跟踪我的学习时间,我想与无法访问 InterBase 服务器的同学分享它。使用 MS 访问数据库似乎是合乎逻辑的解决方案。表格方案非常简单。有 2 列,Subject_ID 数据类型AutoNumberSubject 数据类型Text。主键已设置为Subject_ID
  • 尝试使用 TADOQuery 或 TADOTable 进行测试。同样的错误?其他?没有错误?
  • 你能告诉我们你在连接组件中使用的连接字符串吗?当您单击错误表单中的详细信息时会看到什么?

标签: delphi ms-access tadodataset


【解决方案1】:

您使用了错误的提供程序:ADsDSOObject 用于 ms-access。

请改用Provider=Microsoft.Jet.OLEDB.4.0Provider=Microsoft.ACE.OLEDB.12.0;

例如

MdbFileName := 'C:\StudyTime\StudyTime.accdb';
ADOConnection1.ConnectionString := Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;', [MdbFileName]);
ADOConnection1.Open;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-09
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    相关资源
    最近更新 更多