问题标签 [adox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
64 浏览

c# - C# 使用工作组文件保护新创建的访问目录

我正在尝试通过使用工作组文件作为用户安全来保护 Access 数据库。该文件必须与数据库位于同一文件夹中,并且您必须输入用户名和密码才能访问数据库。我在 connectionString 中读到了一些关于参数“系统数据库”的内容,但我不确定如何使用它。数据库是这样创建的:

0 投票
0 回答
144 浏览

c# - Set MS Access column format using ADOX in C#

I'm trying to set an MS Accessa date/time column format using ADOX. Here's an example of my code:

And so far, it's working. What i need to do is setting this date/time column format to "short date".

I've tried something like this:

... but it's not working.

0 投票
1 回答
554 浏览

sql - 如何将 Adox.table 自动增量属性设置为列?

.Item("Key").Properties("AutoIncrement") = True未将列类型设置为自动增量编号。它说它是只读的,但它在微软官方网站上。这是在较旧的未更新版本的 microsoft docs https://docs.microsoft.com/en-us/previous-versions/office/developer/office2000/aa164917(v=office.10) 似乎它不起作用现在对于 Visual Studio 2012 vb.net 如何将列“key”设置为auto increment number

错误

属性“项目”是“只读”

PS:更新的代码 - 仍然出现错误

该连接不能用于执行此操作。在这种情况下,它要么是关闭的,要么是无效的。

0 投票
1 回答
441 浏览

vb.net - 通过 ADOX.Table 创建数据库列

我正在尝试在现有的access database. database已经创建,它包含名为“table1”的空表,但它不包含任何,columns现在我想在其中添加一列。但它会产生一些错误。

参数类型错误、超出可接受范围或相互冲突。

0 投票
2 回答
100 浏览

oracle - Microsoft Access (mdb):列出连接的 Oracle 表

我们正在Oracle ERP环境中开发。有相当多的视图遗留 MDB 数据库(数十个)与 Oracle 视图(数百个依赖项)相连。在 Oracle 中有一个自定义的 800 多个视图,这些视图可能会被重新设计,设置为不推荐使用,并且将来可能会被删除。

我可以在 MDB-Design 视图中看到连接的 Oracle DB,但我需要将这些依赖项写入列表。有了这样的清单,我就可以完成上面概述的软件维护工作。

我有一个基于 ADOX 的元数据阅读器,但这没有列出 oracle 表:

无论如何,这并没有列出连接的 oracle 表。也许我只需要更改连接字符串?我怎么知道正确的连接字符串?我可以在运行 MDB 的计算机的某处读取它吗?你能提供一个解决方案吗?

这是示例情况的屏幕截图:

在此处输入图像描述

我需要列出的表格用绿色标记。

问候, LPNO

应 Erik 请求的附加信息,这里是 MSYSOBJECTS 表的相关列的摘录,创建于

在此处输入图像描述

实际上 NAME 列已经列出了我寻找的信息。无论如何,仍然会赞赏 VBA 编码方法,因为有许多 mdb 数据库需要检查。

0 投票
0 回答
556 浏览

installation - 尝试构建安装程序时出现“msadox28.tlb 文件受 Windows 系统文件保护”错误

我正在尝试为我的项目构建安装程序。问题是我无法成功构建安装程序并出现以下错误:

错误:应排除“msadox28.tlb”,因为其源文件“C:\Program Files (x86)\Common Files\System\ado\msadox28.tlb”在 Windows 系统文件保护下。

据我所知,这个文件与我用来从本地访问数据库创建、读取和写入数据的 ADOX 和 ADODB 有关。排除此文件会导致程序在安装后根本无法运行,因为它会在首次启动时尝试从头开始创建新数据库。

该程序运行良好并且没有错误,但我想构建一个安装程序,以便我可以将程序发送给几个用户进行测试,并且数据库组件是我项目中最重要的部分。

有人可以帮我解决这个问题吗?

0 投票
0 回答
62 浏览

visual-studio-2017 - 使用 ADOX Microsoft Access 的 Visual Studio 2017 应用程序中的 System.Runtime.InteropServices.COMException 错误

我有一个 Visual Studio 2017 桌面应用程序,它使用 ADOX 动态创建 Microsoft Access 数据库 (.accdb)。该应用程序在我的开发机器上运行良好,但在用户 Windows 10 工作站上安装后,我收到以下错误;

在此处输入图像描述

这是似乎触发用户安装问题的代码块:

我在已发布的应用程序中包含以下应用程序文件作为部署文件;

ADODB.dll,包括(自动),必需

Interop.ADODB.dll,包括(自动),必需

Interop.ADOX.dll,包含(自动),必需

Microsoft.Office.Interop.Access.dll,包括(自动),必需

我发现许多 Stack Overflow 项目说只需将项目属性 >> 构建 >> 平台目标更改为 x86,我已经尝试过,但它并没有解决问题。

0 投票
1 回答
88 浏览

database - msadox28.tlb 在注册时不是有效的 .Net 程序集文件

我正在使用 vb.net (2015) 和 MS Access 数据库开发应用程序。我可以在现有数据库中正常工作。我现在有需要以编程方式创建数据库以进行计费的情况。这是每个文件夹将包含用于公司/公司选择的数据库的情况。

在互联网 / StackOverflow 上搜索后,我了解了 ADOX。甚至得到了它的现成代码。我在我的编码中应用了它。

  1. 添加 Microsoft ADO 扩展 2.8 和 6.0 的引用
  2. 创建变量 Adx 作为新的 Adox.catalog
  3. 然后最后写了 Adx.create(olejet provider conn string with data source)

在这一步我得到一个错误

COM 类未注册

所以我尝试注册msadox.dllmsadox28.tlb使用regsvr32regasm但当时我收到另一个错误:

msadox.dll 注册成功,但 msadox28.tlb 出现错误
无法加载 -file- 因为它不是有效的 .net 程序集文件

现在我被困在这一点上。

我的系统是 Windows 10 64 位。我试图以 cpu x86 和任何 cpu 为目标,但它不起作用。我在这里有很多问题和答案,但不明白。

编辑:

我尝试了以下连接字符串并且它有效,但它创建了旧的 2000-2003 mdb 文件。我想使用新的访问文件 .accdb

字符串是:

编辑:2021 年 9 月 20 日 - 星期一

首先非常感谢@Jimi,您对使用 ACE.16 和清洁溶液的建议奏效了。非常感谢

我使用以下步骤在 VB.NET 中使用 ADOX 创建 MS Access 数据库:

  1. 项目菜单 > 添加参考 > COM 部分 > 选择 Microsoft ADO 分机。6.0 用于 DLL 和安全性

  2. 在程序入口点(表单加载/子主)写入连接字符串 -> Provider=Microsoft.ACE.OLEDB.16.0;Data Source=D:\VBProj\Testing\test.accdb,将其分配给变量connString

  3. 像这样全局声明 adox 目录Public gAdxCat As New ADOX.Catalog

  4. 使用它的方法gAdxCat.create(connString)

  5. 就是这样 - 完成

再次感谢@jimi

0 投票
0 回答
52 浏览

c++ - 使用 C++ Builder 和 ADOX 创建 SQL Server *.MDF 文件

希望有人可以帮助我解决这个问题。我使用 C++ Builder 并使用 ADOX 为 MS Access(*.MDB 和 *.ACCDB)创建了数据库文件。

现在我的一个客户希望我做同样的事情,但只用于 SQL Server。我相信目录文件名是 *.MDF。

创建 Access 目录文件的过程是否相同,但连接字符串不同?

任何帮助将不胜感激,任何指向编程示例的链接都会很棒。