【问题标题】:Create a .mdb without MS Access or ADOX创建没有 MS Access 或 ADOX 的 .mdb
【发布时间】:2015-11-07 10:46:33
【问题描述】:

我正在使用 dephi 2010,安装 ADOX 组件让我越来越难。所以我想知道是否有一种方法可以在不使用 ADOXCatalog 的情况下创建 .mdb 文件。

-谢谢。

【问题讨论】:

  • 是什么让你觉得你需要安装adox组件?我相信它是自 XP 以来 Jet 的一部分。

标签: delphi ms-access delphi-2010


【解决方案1】:

是的,这可以在不使用 ADOXCatalog 的情况下完成。

  1. 放置 TAdoConnection 和例如表单或数据模块上的TAdoCommand。将TAdoCommandConnection 属性设置为TAdoConnection

  2. 然后,在AdoConnectionConnectionString 构建器中,选择Microsoft OLE DB Driver for ODBC。然后,按照 ODBC 向导设置一个新的 MDB 数据库。按照这个步骤,您将能够创建一个文件 DSN(除非您以管理员身份运行 Delphi),选择 Access Jet 驱动程序,指定数据库路径(确保它在某处可写)和名称,然后向导会显示你用一个按钮来点击创建MDB文件。

虽然不是英文,但这里有视频

https://www.youtube.com/watch?v=E_2hrER9oho

它向您展示了如何做到这一点。 ODBC 连接字符串向导应为您提供创建新数据源的选项,并为您提供如下列表供您选择:

  1. TAdoCommand's CommandText 设置为类似

    create table ATable (AName TEXT(40))

并在 r/time 调用它的Execute 方法来创建一个单列表。

顺便说一句,您同样可以使用TAdoQuery 而不是TAdoCommand 组件,使用其Sql 属性而不是TAdoCommandCommandText 属性,并且您应该能够使用任何有效的DDL语句来定义数据库中的表。

【讨论】:

  • 谢谢,我必须设置 DNS 并输入路径,但我没有看到选择 Access jet 驱动程序的选项。
  • 对不起,我认为这一定是你的机器有问题,而不是方法。我添加了一个屏幕截图,显示了我机器上的驱动程序列表。您看到列出的任何驱动程序了吗?
  • 那是我的错,伙计,我看错了。你的方法非常有效。只是一个简单的问题,如果我在另一台机器上运行它,它会创建那个 .mdb 还是我必须进入 ConectionString 构建器?抱歉,如果这是一个愚蠢的问题。
  • 您也可以只在程序中包含一个空数据库作为资源,并在需要时将其保存到磁盘。这将是一个简单的解决方案。
  • “实际上只是为了让它尽可能自包含” 对于那种事情,我们一直在谈论的任何 DBMS 都将是矫枉过正的。查看 TClientDataSet 以获取中等大小(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
  • 1970-01-01
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多