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

asp.net - ASP/ASP.net:基于 Web 的 JET 数据库管理工具?

我需要在 Web 服务器上的 JET 数据库中操作一些表:

  • 检查现有索引
  • 更改表簇/主键
  • 查看存在哪些表
  • 重命名表
  • 添加表格
  • 删除表
  • 浏览数据
  • ETC

我没有在本地机器上安装PlaneDisasterAccess(即使我有)的选项。

我已经编写了一个通用的基于 Web 的查询工具。我宁愿不必编写一个完整的基于 Web 的数据库维护 GUI。一定有人已经这样做了,而且可能已经做了很多次了。

0 投票
2 回答
253 浏览

security - 源代码公开时的安全性

我意识到这个问题的答案可能很明显(如果对我来说有些不便),但我希望有人能有一个巧妙的解决方案。

我正在利用空闲时间慢慢构建一个应用程序,希望对工作有用。这是一个用于分配同行评审的简单跟踪应用程序。基本上,我只是想自学一些 C#。

我的问题是,因为我真的不能安装任何东西,而且我不能使用我自己的网站(两个原因 - 1)国防部可能不允许它,2)我希望这是一个桌面(WinForms ) 项目,而不是 Web),我使用 Jet(如 Access)作为数据存储。

我需要一种方法来保护数据库不被窥探,因为有些东西我真的只希望管理员级别的用户(如团队负责人)访问。我基本上决定设置一个数据库密码。安装时将选择一个密码,用于保护数据库,然后加密以供应用程序获取、解密并用于打开数据库连接。

我的问题是我希望这段代码有点公开。我最终想在我的网站上发布我的代码,并向 StackOverflow 和编程 subReddit 询问一些快速评论和见解。把它想象成一个穷人指导计划。对于维护,尤其是在我离开这份工作之后,我的同事最终将可以使用该源。如果他们有权访问加密的“密钥文件”和源,他们将能够确定数据库密码。

有没有办法对此进行编码,以便即使使用文件和代码,我的同事也无法进入数据库?我认为不是,但值得一问。

如果没有办法做到这一点,我想我的第二个选择是在我把它放在我的网站上时更改加密(将加密等价于哈希 - IV? - 在发布时更改为不同的东西),并提供源受密码保护的 rar 文件,仅将密码提供给管理人员。

有任何想法吗?

0 投票
10 回答
67954 浏览

sql - 如何在带有数字字段的 SQL 中使用 LIKE 条件?

我正在使用这个查询来获取一些特定的数据:“select * from emp where emp_name LIKE 's%'”;

emp_nam 是字符字段,如何使用与数字字段相同的逻辑条件?就像是:

“从 emp 中选择 * 其中 emp_id ????

其中 emp_id 是数字字段。

谢谢,

0 投票
4 回答
364 浏览

c# - SQL 语句不会在 C# 中执行?

嘿伙计们,这是我的代码,我从 VS 获得的唯一帮助是 INSERT INTO 语句语法不正确?

我已经浏览了所有代码,但看不到我哪里出错了,有人可以帮帮忙吗?

谢谢灰

0 投票
2 回答
5324 浏览

ms-access - ACEDAO 是否支持行级锁定?

DAO 3.6 存在一个问题,它不支持行级锁定。有关详细信息,请参阅此知识库文章。

我从Access 团队的博客中了解到:

在 Office Access 2007 中,将向 DAO 添加新对象、属性和方法,以支持 Access 数据库引擎中的新功能。

通过在 Access2007 Visual Basic 编辑器的对象浏览器中查看这个库,新的化身称为 ACEDAO。我可以在 MSDN 上的修补程序中找到对 acedao.dll 的提及,但仅此而已。

有谁知道在哪里可以找到 ACEDAO 的最终用户文档?

如何发现 ACEDAO 是否支持行级锁定?

0 投票
2 回答
2785 浏览

vb.net - .NET Embedded Resource 上的读取权限问题 - 访问 DB 文件和 SSIS

我目前正在创建动态 SSIS 包,用于在 SQL Server 和多个 Access DB 文件之间导入/导出和访问数据。(如果您想获得技术知识,请使用 Jet 文件。)

无论如何,只要我的 SSIS 包具有到 Access 文件的硬编码连接字符串,在测试期间一切都会成功。这很棒,而且效果很好。我对此很满意。

现在,当我更改我的 VB.NET 应用程序以使用动态连接字符串到 Access DB 文件(目标文件,数据将被放置的位置)时,问题就开始了。我将 Access DB 文件作为“嵌入式资源”存储在我的应用程序中。

这是我用来创建访问目标文件的代码:

这工作正常,它确实会产生正确的结果,无论我提供路径到哪里,都是一个 Access DB 文件。当我的 SSIS 包具有硬编码的连接字符串时,这很有效。

一旦我将连接字符串更改为动态,并重新运行相同的确切测试,我会收到此错误:

“无法读取记录;‘MSysAccessObjects’没有读取权限”

我的 SSIS 包中的连接字符串正则表达式如下所示:

当我导航到本地硬盘驱动器上的该文件并尝试打开它时,它提示我它处于不可恢复的状态并修复它,但它从未成功过。

  1. 我是否忽略了有关文件创建的某些内容?(IO?)
  2. 我是否忽略了有关嵌入式资源的某些内容?(它们对我来说似乎很直接,但也许我忽略了一些明显的东西?)
  3. 我的文件状态是否已损坏?我可以使用 MS Access 在 VS.NET IDE 和本地打开它。
  4. 是否值得重新创建此 Access 文件?我读过您可以将架构复制到新文件以避免修复?这听起来太冒险了!!

最初我认为这是一个权限错误,关于 Access DB 文件的用户角色和 SSIS 试图使用它。但我不认为是这样。用户设置为管理员并且应该(理论上)工作。

我认为要破解/修复此问题,我目前将尝试不使用嵌入式资源。我将使用 FileIO 调用将文件显式移动到我想要的文件夹并从那里填充它。有谁知道为什么嵌入式资源数据库文件不起作用,但是当不是从嵌入式资源生成时,同一个文件确实起作用?当我从资源创建文件时,是否有未完成的内容?

非常感谢任何反馈或建议。也欢迎任何问题。谢谢你。

**** 更新/07/18/2009:**

我修改了我的 [CreateDestinationFile] 例程以执行直接文件/IO 复制,而不是使用嵌入式资源。

这是代码:

该文件已从项目中正确复制,但我现在收到此错误:

“发生 OLE DB 错误。错误代码:0x80040E09。OLE DB 记录可用。来源:“Microsoft JET 数据库引擎”Hresult:0x80040E09 描述:“无法读取记录;'TABLE_XXXXX' 没有读取权限。”

这使我相信 SSIS 没有适当的权限将我的本地 MS Access DB 用作目标文件。

这对我来说很奇怪,因为如果我在我的 SSIS 包中将连接字符串硬编码到它,则相同的文件可以工作。这里发生了什么?

正如您在我的连接字符串表达式中看到的那样,我有 [Admin] 作为用户。所以这应该有效,对吧?此外,这个问题的另一个可能的罪魁祸首是这是在 Access 2003 中创建的旧版 MS Access DB,而我在我的盒子上使用的是 Access 2007。帮助?

0 投票
4 回答
937 浏览

ms-access - MS Access:避免“丢失更新”

我们继承了一个相当大的 Access DB,它有一些非常奇怪(且令人不安)的行为:对数据库的一些更新丢失了。我们可以做些什么来避免这种情况?Access 中是否有任何设置可以提供更好的事务控制?

以下是更多细节:

  • 我们有一个具有写入权限的访问用户(由非常有限数量的用户共享 - 目前只有我,其他人正在休假)。
  • 我们有另一个访问用户,它被许多人使用,只有读取访问权限。
  • 写入用户对数据进行了一些更改。
  • 离开并重新进入表格和/甚至应用程序后,更改似乎已“提交”。
  • 一段时间后(通常是一夜之间),更改会丢失,数据会恢复到旧值。

什么会导致这种行为?

我们的理论是,这是由 Access 中一些奇怪的事务控制引起的。只读用户对查询或表单中使用的数据获得某种“排他锁”。一旦用户离开该查询/表单,Access 会确保它仍在数据库中。如果同时写入用户更改了数据,这些更改将在只读用户离开查询/表单时恢复,从而导致更新丢失。这有意义吗?这是 MS-Access 的已知问题吗?

此外,我们对如何避免这个问题感兴趣。这是 Access 中固有的东西,只能通过切换到具有更好事务控制的“真实”数据库来避免吗?(从技术角度来看,这很好;但当然,这将是我们在项目的这个阶段宁愿避免的紧急任务。)

感谢您的任何意见,如果需要额外信息,请告诉我。

0 投票
8 回答
1347 浏览

.net - 客户 PC 上的 CPU 卡在 100%,有什么调试建议吗?

我遇到了一个使用我的软件的客户的死胡同。在我们售出的大约 40 份产品中(使用 VB.NET 2005 在 .NET 2.0 中编程的应用程序),大约有 2 份没有响应,双核 CPU 的 1 个核心卡在 100%(程序仅使用 1 个核心)

最合乎逻辑的猜测是导致这种行为的无限循环,但是成千上万行代码带有很多很多循环。这就是我所掌握的所有信息;现在,你建议我如何调试这个问题?

编辑:基本上,该软件负责计算使用其他设备(例如 PC 等)所花费的信用量。它是一个网吧管理程序,间歇性地失败,即它在失败时减去信用。它还在后台执行其他操作,例如检查是否是时候创建数据库备份等。

编辑:解决。这是最不可能的问题。我用作 DBMS 的 Access 数据库引擎实际上是我的应用程序中存在问题的部分。在其中一张表中处理一行——JUST ONE FRIGGIN ROW——有困难。我无法删除它,或者在任何其他表中添加与该行相关的记录;当我尝试使用该行时,即使是 MS Access 2007 也会导致 CPU 达到 100%!

一个简单的“压缩和修复”命令修复了一切。我想我会在每次我的应用程序启动时发出该命令。这将防止这种情况再次发生。

感谢WinDbg,我可以找到问题所在。我建议每个人都学习如何使用它,因为它可以真正节省时间。

0 投票
8 回答
110212 浏览

ms-access - MS Access 数据库引擎表中的最大行数?

我们知道 MS Access 数据库引擎被“限制”以允许最大文件大小为 2GB(或者可能在内部被限制为小于 4KB 数据页中的 2 个)。但这实际上意味着什么?

为了帮助我衡量这一点,你能告诉我可以插入 MS Access 数据库引擎表的最大行数吗?

为了满足表的定义,所有行都必须是唯一的,因此需要唯一的约束(例如PRIMARY KEYUNIQUECHECK、数据宏等)。

编辑:我意识到有一个理论上的限制,但我感兴趣的是实际(不一定可行),现实生活中的限制。

0 投票
1 回答
2338 浏览

ms-access - 使用 dao (VB6) 连接到远程目录中的访问数据库

我需要替换这个结构:

另一个 .mdb 位于服务器目录中。我试过了:

但它没有用。我正在使用VB6。有任何想法吗?