问题标签 [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 投票
1 回答
2464 浏览

c# - 如何使用 C# ADOX 访问 Access 数据库表的属性?

我已经使用 C# ADOX 库创建了 MS Access 数据库。我创建了一个包含几列的表。我想要实现的是当我在一列中插入日期时,日期格式应该是 YYYY-MM-DD 而不是 MM-DD-YYYY。我知道它只是显示格式,但我想访问我们在设计模式下打开访问表时设置的属性,对于日期数据类型的列,将格式设置为自定义(YYYY-MM-DD)。我希望仅在创建表时在运行时设置它。我想知道应该使用什么属性名称来访问和设置列的格式属性?

0 投票
1 回答
1372 浏览

python - Python / ADOX:“找不到指定的模块。” (win32 扩展)

我正在为 python 2.5 运行 pywin32。

我正在按照http://www.ecp.cc/pyado.html给出的 python ADO 的说明进行操作。

创建 ADODB.Recordset 对象可以正常工作。但是当我尝试创建一个 ADOX.Catalog 对象时,我得到一个错误:

有什么想法我可能会错过吗?

0 投票
1 回答
231 浏览

sql-server - 如何通过 T-SQL 访问视图命令?

我希望能够以编程方式检索在我们的 SQL Server 上生成视图的命令字符串。

虽然 ADOX 集合与 ADODB 连接一起使用,但允许我们通过 catalog/view/command 属性访问它。不幸的是,当通过 ADO 连接从 MS-Access 客户端连接到 SQL Server 时,“视图”集合不可用,这就是我们的情况(请参阅不能将 ADOX 视图集合与 SQL Server 一起使用)。

我希望我现在可以找到解决此问题的 T-SQL 替代方案。然后我将能够通过我的 ADO 连接发送 T-SQL 指令,并在我的客户端收集相应的文本字符串。

0 投票
1 回答
960 浏览

c# - VB.NET -> C# 语法问题

我想使用 ADOX 创建一个新的 MS Access 数据库表。在此页面上,是 VB.NET 中的代码,但显然它在 C# 中不起作用(当我想“转换”代码时)。如果有人正确转换它,我将不胜感激。


在 VB.NET 中是:

但是,在 C# 中,没有 ADODB.Connection 方法

这是我的代码,我真的不认为它可以:

0 投票
3 回答
594 浏览

sql-server-2005 - SQL/Schema比较和升级

我有一个简单的情况。一个大型组织正在使用某些(桌面)应用程序的几个不同版本,每个版本都有自己的数据库结构。大约有 200 个办公室,每个办公室都有自己的版本,可以是 7 个不同的版本之一。该公司希望将所有应用程序升级到最新版本,即版本 8。

问题是他们没有为每个版本提供单独的数据库。他们也没有为每个办公室提供单独的数据库。他们有一个由专用服务器处理的单一数据库,从而使管理和备份等事情变得更容易。每个办公室都有自己的数据库架构,并且在架构内有针对其特定应用程序版本的整个数据库结构。结果,我处理了 200 个需要升级的不同模式,每个模式都有 7 个可能的版本。幸运的是,每个模式都知道正确的版本,因此检查版本并不困难。

但我的问题是我需要创建可以从版本 1 升级到版本 2 到版本 3 等的升级脚本......基本上,所有模式都需要升级一个版本,直到它们都是版本 8。编写代码这样做是没有问题的。挑战是如何创建从一个版本到另一个版本的升级脚本?最好使用一些自动化工具。我检查了 RedGate 的 SQL Compare 和 Altova 的 DatabaseSpy,但它们并不实用。Altova 太慢了。RedGate 之后需要进行太多处理,因为生成的 SQL 脚本仍然有一些错误,并且它引用了模式名称。此外,代码需要成为存储过程的一部分,而 RedGate 生成的代码并不真正适合单个过程。(另外,它处理了太多事务,而我需要在单个事务中处理所有内容。


我一直在考虑使用另一个 SQL 比较工具,但在我看来,我的情况与标准工具可以提供的情况太不同了。所以我要写我自己的比较工具。为此,我将使用 ADOX 和 Delphi 来读取数据库中每个模式版本的目录,然后使用它来编写需要将这些模式升级到下一个版本的 SQL 语句。(比较 1 与 2、2 与 3、3 与 4 等)我对生成 SQL-Script-Generators 并不陌生,所以我预计不会有太多问题。而且我只会升级表结构,而不是任何其他数据库对象。

那么,在进行这种比较时,是否有人有一些好的提示和技巧可以应用?需要注意的事项?提高速度的实用技巧?

0 投票
1 回答
1366 浏览

c# - ADOX 多步 OLE DB 操作产生错误

我必须制作一个程序来关闭访问数据库 (.mdb) 中的所有 Unicode 压缩和所有“允许零长度”。

关闭允许零长度的方法效果很好。但是关闭Unicode压缩的方法根本不起作用,返回如下异常:

多步 OLE DB 操作产生错误。检查每个 OLE DB 状态值(如果可用)。没有做任何工作。

关于如何解决这个问题的任何线索?

0 投票
1 回答
516 浏览

mysql - 使用 ADOX 或 ADOX 和 ADODB 查询和编辑数据

我试图弄清楚如何使用 ADO 和 ADODB 来获取数据并查看它,同时还能够确定 PK 以便我可以更改数据。

我的计划是使用 ADODB 在 Excel 中向最终用户显示一些数据,如果用户想要编辑数据,则会有一个宏监控单元格更改,然后将更改发送到数据库。我需要一种方法来使用 ADOX 来查找键并更改数据,除非我可以使用 ADOX 来查询和更改所有数据。

我有使用 ADODB 与 MySQL 数据库通信的经验,并且我知道 ADOX 可以向您显示数据库表的键,还可以让您轻松更改数据库结构。关于我正在尝试做的事情,我似乎找不到任何东西。

0 投票
1 回答
363 浏览

c# - #import ADOX 与使用 ADO 的托管 dll 冲突

我有一个使用 /clr 调用托管 dll 的旧版 C++ 应用程序(用 C# 编写)

该应用程序用于#import引用 ADOX。该 dll 还引用了 ADOX。

一切都很好,直到我将对我的 dll 的引用添加到 C++ 项目中。然后我在编译时遇到数百个与和STDAFX.CPP相关的错误。一些错误涉及接口重新定义等,其他错误涉及尝试编译 tlh 和 tli,就好像它们是托管代码一样。msadox.tlimsadox.tlh

我已经尝试#pragma managed(off)#import没有成功。

如果相关,则#import使用该libid:...方法。

我不明白这种冲突是如何发生的,以及我能做些什么来克服它。请帮忙!

0 投票
1 回答
1612 浏览

.net - ADOX 使文件句柄保持打开状态

有没有人遇到过 ADOX 库打开文件句柄的问题?

我在 VB6 -> VB.Net 转换中遇到了一个奇怪的问题。有一个函数使用 ADOX 来查看给定数据库中的表,并在自动增量属性设置为 true 的情况下重置所述表中任何列的种子值。

我将问题追溯到调用“col.Properties("Autoincrement").Value”。如果这行代码被注释掉,那么当我在函数末尾关闭 ADO 和 ADOX 连接时,文件句柄会正确终止。如果我留下那条线,尽管关闭调用并强制垃圾收集,句柄仍保持打开状态。

这是我关闭对象的方式:

adoConn 是 ADO 连接,而 cat 是 ADOX.Catalog 对象。col(来自之前的)是与目录对象一起使用的 ADOX.Column 对象。

我最初尝试将此算法转换为使用 ADO.Net,并使用我接近的 DataSet 对象,但无法弄清楚如何确定表列是否设置为自动增量。顺便说一句,这是使用 Access 2000 数据库。

0 投票
0 回答
866 浏览

visual-c++ - 无法使用 ACE 驱动程序执行 sql insert into .mdb 文件。适用于 .accdb 文件

我正在使用 ACE 数据库驱动程序。我正在使用 ADOX 创建访问数据库,并尝试使用 SQL 命令插入数据。当文件名使用 .mdb 扩展名时,它在使用 .accdb 时不起作用。我正在使用 x64 ace 驱动程序

这是插入部分

这是 executeSqlCmd 函数

任何反馈?