问题标签 [jet]

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 投票
3 回答
3670 浏览

sql - 如何最好地通过 SQL 对多个布尔值求和?

我有一个表,其中包含大约 30 列表示特定属性的布尔标志。我想将它们按频率排序作为记录集连同它们的列名一起返回,如下所示:

到目前为止,我的努力可以实现类似的效果,但我只能使用条件 SUM 获取列中的属性,如下所示:

此外,对于所有 30 个 SUM/IIF,查询已经变得有点笨拙,并且不会在没有人工干预的情况下处理属性数量的任何变化。

属性列的前六个字符是相同的(attrib)并且在表中是唯一的,是否可以在列名中使用通配符来选择所有适用的列?

另外,我可以旋转结果给我一个排序的两列记录集吗?

我正在使用 Access 2003,查询最终将通过 Excel 中的 ADODB。

0 投票
5 回答
5735 浏览

ms-access - 在嵌入式连接字符串中指定 mdw 文件到另一个 Jet mdb:可能吗?

我可以在 Jet (mdb) 查询中使用以下语法从另一个 .mdb 文件中选择数据:

或者

我想扩展它以使用工作组安全性,即用户级安全性 (ULS)。我知道如何指定用户 ID 和密码,例如

但这仅在两个 mdb 共享相同的 mdw 时才有效。

我将如何指定用于保护其他 mdb 的 mdw 文件的路径?是否可以?如果不是,为什么不呢?

PS 我多年前在这个 Access 新闻组帖子中问过这个问题,但没有收到任何回复。在 Access MVP 说服我这是不可能的之后,我放弃了;我不记得细节,但它与底层架构有关(工作区仅支持一个工作组文件,并且没有 Jet 查询实例化新工作区的机制?无论如何都是这样)。

这个 SO 评论激发了我的新兴趣。

0 投票
2 回答
3674 浏览

excel - 如何阅读 xml 电子表格

我有一个生成 xml 电子表格 (*.xls) 的第 3 方工具。我有另一个程序可以读取此电子表格并对其进行处理。生成的 xml 电子表格的内容是一个有 5 列的表,我的程序对它们运行选择查询。打开与生成的电子表格的连接时遇到问题。它说“{”外部表不是预期的格式。“}”。我的连接字符串是 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFileName + ";Extended Properties=\"Excel 8.0;HDR=YES;\""; 我需要对此字符串进行任何更改吗?我尝试使用数据集并调用 dataSet.ReadXml(excelFileName); 但数据集不包含我的表。关于如何读取 xml 电子表格的任何输入?

谢谢你的时间,CS

0 投票
2 回答
6363 浏览

c# - 如何在c#中根据日期查询日期时间

我有一个带有 DateTime 列的 MS-Access 数据库。
例如:03/08/2009 12:00:00 AM

我想要基于日期的查询,例如:

我想将数据显示为03/08/2009 12:00:00 AM.

我将如何在 C# 中编写此查询?请帮我。

0 投票
1 回答
1304 浏览

ms-access - 如何获得约束的名称?

我正在使用 MS Access 数据库并尝试从 C# 2.0 获取完整数据。如何使用 ADOX 获取约束名称(例如:Primarykey 的名称而不是主键的字段名称)。

提前感谢马杜

0 投票
1 回答
805 浏览

ms-access - ACE/Jet 的 IN 运算符或 CHECK 约束是否“损坏”?

考虑下表,其约束有点愚蠢,但足以证明我的观点。请注意,为简单起见,约束条件仅涉及文字值。该列ID之所以存在,是因为一个表必须至少有一个列 (!!),但该列不参与约束。虽然有点愚蠢(因此得名),但这是完全合法的语法,类似于添加WHERE 0 = 1SELECT查询以确保它返回零行。

(标准 SQL DDL 代码,将在 ACE/Jet 的 ANSI-92 查询模式下执行)

以下INSERT成功:

这是预期的行为。谓词5 = NULL应评估为UNKNOWN。这INSERT是“给予怀疑的好处”并成功了。那里没问题。

考虑使用IN运算符的类似示例:

以下INSERT失败,因为约束咬:

这是出乎意料的行为,至少在我看来。由于与第一个示例相同的原因,我希望 the5 IN (0, 1, NULL)再次被评估为UNKNOWN并且成功。INSERT

我希望第二个示例中的逻辑与以下第三个示例相同:

以下INSERT成功:

这是预期的行为。

我已经在 SQL Server 上测试了所有三个示例,并且所有的工作都符合我的预期,即所有三个INSERT语句都成功。事实上,检查 INFORMATION SCHEMA 表明,对于第二个示例,SQL Server as 'helpfully' (grrr) 重写了约束的子句以将IN运算符替换为

那么,对于 ACE/Jet 来说,这里的“破碎”是什么:IN操作符还是CHECK约束?

这是一些使用 NULLable 列重现问题的 VBA 代码;还演示了删除约束允许INSERT成功:

编辑:我只是想试试这个:

在 (1) 中选择空值;-- 返回 NULL

SELECT 1 IN (NULL) -- 返回零,即 FALSE

0 投票
1 回答
426 浏览

nhibernate - 什么会导致 NHibernate 在使用 JET 时返回无效的身份选择?

我们的应用程序(很遗憾)使用了 MDB 后端数据库(即 JET 引擎)。

持久化到数据库的项目之一是“事件”对象。该对象被持久化到一个 ID (EventLogID) 的表中,该 ID 是一个自动编号字段。NHibernate 映射如下:

根据日志文件,在某些情况下,NHibernate 尝试获取身份时,会收到值“0”。后来,当 Flush 被调用时,NHibernate 遭受断言失败。

谁能建议为什么会发生这种情况?更好的是,任何人都可以建议如何解决它?

问候,理查德

0 投票
6 回答
22954 浏览

c# - 如何删除 Access Db 的临时 ldb 文件

我有一个 ASP.NET 项目。我正在连接到数据库,然后关闭并处理连接对象。但是当有人进入我的站点时,MS Access 会创建一个临时的 dbname.ldb。当我想从我的服务器下载我的原始 mdb 文件时,它不会让我访问 mdb 文件。如果服务器中有 ldb 文件,我将无能为力。它正在锁定 mdb 文件,我无法移动它。所以有什么问题?我正在打开连接并关闭它。那么为什么这个ldb文件在连接关闭后不删除自己。

0 投票
4 回答
2651 浏览

sql - 从不同服务器中的链接表加入时 MS Access 的性能?

如果我有一个 MS Access 数据库,其中包含来自两个不同数据库服务器的链接表(比如一个来自 SQL Server db 的表和一个来自 Oracle db 的表)并且我编写了一个查询来连接这两个表,Access(或 Jet 引擎,我猜?)处理这个查询?它会首先在每个表上发出一些 SELECT 以获取我正在加入的字段,找出哪些行匹配,然后为这些行发出更多 SELECT 吗?

0 投票
6 回答
32870 浏览

c# - 将逗号分隔的文本文件读取到 C# DataTable,列被截断为 255 个字符

我们正在从 CSV 导入 SQL。为此,我们正在读取 CSV 文件并使用 schema.ini 写入临时 .txt 文件。(我还不确定为什么要写入这个临时文件,但这就是代码当前的工作方式)。从那里,我们使用以下连接字符串(对于 ASCII 文件)通过 OleDB 加载数据表。

我们遇到的问题是超过 255 个字符的字段会被截断。我已经在网上阅读过这个问题,似乎默认情况下,文本字段会因此被截断。

我设置了我的注册表设置 ,ImportMixedTypes=Majority Type并 希望它不再被解释为文本。这样做之后,临时 txt 文件正在从 CSV 文件中正确写入,但是当我调用 时,生成的 DataTable 仍然具有截断值。TypeGuessRows=0HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\ExcelmycolumnsdataAdapter.Fill

这是有问题的列定义。CommaDelimited#txt 注释 2 假 234 真 130 0 0

任何帮助,将不胜感激。目前,我对使用任何 3d 方代码来解决这个问题不感兴趣,必须有一种使用内置工具的方法。

这是表定义:

谢谢,

格雷格


我尝试编辑带有宽度的 schema.ini 指定文本,但这没有帮助(之前设置为备忘录)

[CommaDelimited.txt] 格式=CSVDelimited DecimalSymbol=。Col1=备注文本宽度 5000