问题标签 [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.
sql - 如何最好地通过 SQL 对多个布尔值求和?
我有一个表,其中包含大约 30 列表示特定属性的布尔标志。我想将它们按频率排序作为记录集连同它们的列名一起返回,如下所示:
到目前为止,我的努力可以实现类似的效果,但我只能使用条件 SUM 获取列中的属性,如下所示:
此外,对于所有 30 个 SUM/IIF,查询已经变得有点笨拙,并且不会在没有人工干预的情况下处理属性数量的任何变化。
属性列的前六个字符是相同的(attrib)并且在表中是唯一的,是否可以在列名中使用通配符来选择所有适用的列?
另外,我可以旋转结果给我一个排序的两列记录集吗?
我正在使用 Access 2003,查询最终将通过 Excel 中的 ADODB。
ms-access - 在嵌入式连接字符串中指定 mdw 文件到另一个 Jet mdb:可能吗?
我可以在 Jet (mdb) 查询中使用以下语法从另一个 .mdb 文件中选择数据:
或者
我想扩展它以使用工作组安全性,即用户级安全性 (ULS)。我知道如何指定用户 ID 和密码,例如
但这仅在两个 mdb 共享相同的 mdw 时才有效。
我将如何指定用于保护其他 mdb 的 mdw 文件的路径?是否可以?如果不是,为什么不呢?
PS 我多年前在这个 Access 新闻组帖子中问过这个问题,但没有收到任何回复。在 Access MVP 说服我这是不可能的之后,我放弃了;我不记得细节,但它与底层架构有关(工作区仅支持一个工作组文件,并且没有 Jet 查询实例化新工作区的机制?无论如何都是这样)。
这个 SO 评论激发了我的新兴趣。
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
c# - 如何在c#中根据日期查询日期时间
我有一个带有 DateTime 列的 MS-Access 数据库。
例如:03/08/2009 12:00:00 AM
。
我想要基于日期的查询,例如:
我想将数据显示为03/08/2009 12:00:00 AM
.
我将如何在 C# 中编写此查询?请帮我。
ms-access - 如何获得约束的名称?
我正在使用 MS Access 数据库并尝试从 C# 2.0 获取完整数据。如何使用 ADOX 获取约束名称(例如:Primarykey 的名称而不是主键的字段名称)。
提前感谢马杜
ms-access - ACE/Jet 的 IN 运算符或 CHECK 约束是否“损坏”?
考虑下表,其约束有点愚蠢,但足以证明我的观点。请注意,为简单起见,约束条件仅涉及文字值。该列ID
之所以存在,是因为一个表必须至少有一个列 (!!),但该列不参与约束。虽然有点愚蠢(因此得名),但这是完全合法的语法,类似于添加WHERE 0 = 1
到SELECT
查询以确保它返回零行。
(标准 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
nhibernate - 什么会导致 NHibernate 在使用 JET 时返回无效的身份选择?
我们的应用程序(很遗憾)使用了 MDB 后端数据库(即 JET 引擎)。
持久化到数据库的项目之一是“事件”对象。该对象被持久化到一个 ID (EventLogID) 的表中,该 ID 是一个自动编号字段。NHibernate 映射如下:
根据日志文件,在某些情况下,NHibernate 尝试获取身份时,会收到值“0”。后来,当 Flush 被调用时,NHibernate 遭受断言失败。
谁能建议为什么会发生这种情况?更好的是,任何人都可以建议如何解决它?
问候,理查德
c# - 如何删除 Access Db 的临时 ldb 文件
我有一个 ASP.NET 项目。我正在连接到数据库,然后关闭并处理连接对象。但是当有人进入我的站点时,MS Access 会创建一个临时的 dbname.ldb。当我想从我的服务器下载我的原始 mdb 文件时,它不会让我访问 mdb 文件。如果服务器中有 ldb 文件,我将无能为力。它正在锁定 mdb 文件,我无法移动它。所以有什么问题?我正在打开连接并关闭它。那么为什么这个ldb文件在连接关闭后不删除自己。
sql - 从不同服务器中的链接表加入时 MS Access 的性能?
如果我有一个 MS Access 数据库,其中包含来自两个不同数据库服务器的链接表(比如一个来自 SQL Server db 的表和一个来自 Oracle db 的表)并且我编写了一个查询来连接这两个表,Access(或 Jet 引擎,我猜?)处理这个查询?它会首先在每个表上发出一些 SELECT 以获取我正在加入的字段,找出哪些行匹配,然后为这些行发出更多 SELECT 吗?
c# - 将逗号分隔的文本文件读取到 C# DataTable,列被截断为 255 个字符
我们正在从 CSV 导入 SQL。为此,我们正在读取 CSV 文件并使用 schema.ini 写入临时 .txt 文件。(我还不确定为什么要写入这个临时文件,但这就是代码当前的工作方式)。从那里,我们使用以下连接字符串(对于 ASCII 文件)通过 OleDB 加载数据表。
我们遇到的问题是超过 255 个字符的字段会被截断。我已经在网上阅读过这个问题,似乎默认情况下,文本字段会因此被截断。
我设置了我的注册表设置 ,ImportMixedTypes=Majority Type
并
希望它不再被解释为文本。这样做之后,临时 txt 文件正在从 CSV 文件中正确写入,但是当我调用 时,生成的 DataTable 仍然具有截断值。TypeGuessRows=0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
mycolumns
dataAdapter.Fill
这是有问题的列定义。CommaDelimited#txt 注释 2 假 234 真 130 0 0
任何帮助,将不胜感激。目前,我对使用任何 3d 方代码来解决这个问题不感兴趣,必须有一种使用内置工具的方法。
这是表定义:
谢谢,
格雷格
我尝试编辑带有宽度的 schema.ini 指定文本,但这没有帮助(之前设置为备忘录)
[CommaDelimited.txt] 格式=CSVDelimited DecimalSymbol=。Col1=备注文本宽度 5000