通过网络 ODBC 访问 *.mdb

2023-11-29

我有一个关于带有 *.mdb 的 ODBC 如何工作的一般性问题。

根据我的理解,如果我错了,请纠正我,无论我是否使用odbc,当访问存储在另一台计算机(即NAS)上的MS Access数据库(*.mdb)时,我的计算机首先需要在对其执行任何操作之前加载完整的 *.mdb 文件,无论这些操作多么简单。与仅将结果发送回查询的 SQL 服务器非常不同。

如果您可以确认这一点,那么我有一些关于通过 odbc 访问 mdb 的多用户环境的相关问题:

  • 文件多久保存回存储(即 NAS)?是否有某种“空闲”超时或类似的情况?我正在尝试计算较大文件产生的网络流量。
  • 一个用户多久可以看到另一个用户对同一文件所做的更改?
  • 这种文件访问如何在多用户环境中工作而不不断导致数据损坏?

请注意,我确实知道更好、更有效的解决方案,我真的只是对这种特定情况的内部运作感兴趣。

谢谢


根据我的理解,如果我错了,请纠正我,无论我是否使用odbc,当访问存储在另一台计算机(即NAS)上的MS Access数据库(*.mdb)时,我的计算机首先需要在对其执行任何操作之前加载完整的 *.mdb 文件,无论这些操作多么简单。

您错了。整个 .mdb(或 .accdb)文件将not当数据库打开时通过网络拉取。如果可以使用索引来识别相关行,那么即使对特定表进行操作也不一定会通过网络拉取整个表。对于使用 Wireshark 执行的实际测量,请参阅我的答案here.

文件多久保存回存储(即 NAS)?是否有某种“空闲”超时或类似的情况?我正在尝试计算较大文件产生的网络流量。

Access 数据库引擎可能会在提交更新之前将更新缓冲几秒钟。这样做可能是为了减少数据库文件的争用。当有更新的时候are提交后,Access 数据库引擎仅通过网络发回修改后的页面;它不会重写整个表(或文件)。

一个用户多久可以看到另一个用户对同一文件所做的更改?

我不久前运行了一些测试,发现一个用户(连接)所做的更改通常在大约五 (5) 秒后可用于其他连接。看我的回答here了解详情。

这种文件访问如何在多用户环境中工作而不不断导致数据损坏?

每个用户都有自己的 Access 数据库引擎实例来操作共享数据库文件,但各个实例相互协作来管理记录/页面锁定。请注意,当在“共享模式”下打开 Access 数据库文件(.accdb 或 .mdb)时,会在同一文件夹中创建锁定文件(.laccdb 或 .ldb)。 Access 数据库引擎的各个实例使用此锁定文件来管理多用户访问。

示例:网络流量

我刚刚使用 Wireshark 捕获使用 ODBC 运行的 VBScript 生成的网络流量

SELECT COUNT(*) AS n FROM TestData WHERE ID=1

针对驻留在网络共享上的 84.3 MB Access 数据库文件。该文件由一 (1) 个表组成,该表包含一百万 (1,000,000) 行,并以长整型 [ID] 字段作为其主键。

产生的总网络流量

  • 打开到数据库文件的 ODBC 连接,
  • 运行查询,
  • 返回结果,并且
  • 关闭连接

为 110 KB。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过网络 ODBC 访问 *.mdb 的相关文章

  • 视频流上的 TCP 与 UDP

    我刚从网络编程考试回来 他们问我们的问题之一是 如果您要传输视频 您会使用 TCP 还是 UDP 请解释一下存储视频和实时视频流 对于这个问题 他们只是希望得到一个简短的答案 TCP 用于存储视频 UDP 用于实时视频 但我在回家的路上想到
  • 什么是接口标识符

    我有一台笔记本电脑 使用一个或多个网络适配器连接到我组织的网络 我正在尝试编写一个工具来持续监控每个网络的连接状态和连接质量 然而 我的网络知识有限 术语让我感到困惑 特别是查找所有网络适配器 有人建议我使用命令ifconfig它给了我所谓
  • 输入数据库时​​拆分文本框中的文本

    当插入 MS Access 数据库 时 如何将文本框中的单词拆分或放入另一行 例如 我的文本框有这些词 ABC DEF 生长激素指数 JKL 当用户按下回车按钮时 以下单词将被插入到文本框中 但每个单词都会在一个新行中 例如 ABC 将位于
  • 访问:根据记录中的最新日期进行分组(嵌套查询)

    下表中的此查询 SELECT ID Value As of FROM Table a INNER JOIN SELECT ID MAX As of AS As of FROM Table GROUP BY ID b ON a ID b ID
  • 从 Perl 脚本 DBI 关闭 MSSQL 服务器

    我正在写一个 perl 脚本 其中我必须关闭我的 mssql 服务器 做一些操作 然后我必须重新启动它 我知道一种方法是使用 netstat 来停止服务 但我不能使用它 所以我尝试安装 DBI 和 DBD ODBC 模块 我可以通过以下代码
  • P2P网络游戏/应用程序:类似“战网”匹配服务器的不错选择

    我正在制作一个网络游戏 1v1 游戏中是 p2p 不需要游戏服务器 然而 为了让玩家能够 找到彼此 而不需要在另一种媒介中协调并输入IP地址 类似于网络游戏的现代时代 我需要有一个协调 匹配服务器 我无法使用常规网络托管 因为 客户端将使用
  • #DELETE 在 Access 中查看 SQL Server 表

    今天早上又出现了一个新问题 我的数据库驻留在 SQL Server 上 并使用 Access 作为前端 其中一个已经使用了至少 10 年的数据库今天突然停止工作 我发现这个问题影响了 2 个 可能更多 我没有检查所有 表 当我在访问中打开表
  • 在 VBA 循环中导出查询以根据字符串值选择数据

    我有一个名为 TEST 的表 下面的代码根据 Territory 列中的唯一值循环导出查询 该代码应该根据 Territory 列中的唯一值将数据导出到 Excel 文件 因此每个 Territory 值都有它自己的文件 我在设置 sql
  • 如何在Windows Phone 7中获取Wi-Fi和移动网络参数?

    我的应用程序需要以下移动网络参数 MCC 移动国家代码 MNC 移动网络代码 LAC 位置区域代码 CID 小区标识符 细胞信号强度 对于 Wi Fi MAC地址 信号强度 我还需要两个变体的设备 IP 地址 Windows Phone 7
  • C# 自动检测代理设置

    C 2008 SP1 我正在使用代码来检测是否已在 Internet 选项 下设置代理 如果有代理 那么我将在我的网络客户端中设置它 所以我只是检查代理的地址是否存在 如果没有 则说明 Web 客户端中没有要设置的代理 这是执行此操作的正确
  • 在我的网络上的其他计算机上查看我的 IIS 托管站点

    在家里 我有一个包含两台机器的简单网络设置 在一台机器上 我有一个使用 IIS7 托管的网站 而不是标准localhost index htm地址我已经添加了一个条目HOSTS将本地 IP 127 0 0 1 指向该域的文件 www mys
  • 自定义函数错误:“表达式不能在计算列中使用”

    在 Access 2010 中 我尝试在计算列中使用自定义 VBA 函数 我得到 表达式不能在计算列中使用 这是我的步骤 启动 Access 2010 创建一个新的数据库 DB 创建一个包含文本列 Column1 的表 Table1 在 C
  • 如何使用 Kryonet 通过网络发送对象?

    我是网络新手 我正在尝试将我使用 java 创建的棋盘游戏联网 我的一个朋友向我推荐了 Kryonet 库 到目前为止 一切都很棒 我不必处理套接字 我遇到的问题是发送对象 主要是 我有一个 Board 类型的对象 该对象包含其他对象 例如
  • MS Access VBA:通过 Outlook 发送电子邮件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何使用 MS Access VBA 通过帐户发送电子邮件 我知道这个问题很模糊 但是很难在网上找到在某种程度上还没有过时的相关信息 编辑
  • 扭曲多种协议

    我希望为我正在从事的项目学习扭曲 该项目需要服务器响应 HTTP 请求以及通过 TCP 连接的其他协议 Twisted能够同时处理多种协议吗 我想使用 Twisted Web 来帮助处理 HTTP 但同时需要响应其他端口上的 TCP 连接
  • 什么是特权指令?

    我添加了一些可以干净编译的代码 并且刚刚收到此 Windows 错误 MonTel Administrator 2 12 7 MtAdmin exe Application Error The exception Privileged in
  • MS Access 执行 POST Web 请求

    在我的 MS Access 应用程序中 我需要定期向我的网络服务器发送一批信息 我不需要任何花哨的东西 比如 SOAP XML RPC 或任何东西 只需一个简单的 POST 页面请求就足够了 我用谷歌搜索了一下 但找不到任何真正有用的东西
  • MS Access - 粘贴确认事件后

    当用户将记录直接粘贴到数据表子报表中时 是否可以在显示粘贴确认消息后捕获事件 我需要它能够在审计表中创建新记录时进行记录 通过捕获更新前 更新后和插入事件 我可以轻松创建已添加的记录集合 准备将详细信息插入审核日志 但是在所有这些事件触发后
  • 使用 MS Access 链接表连接到 SQL Server 后端时是否可能发生 SQL 注入

    我一直在对此进行一些研究 但到目前为止还是一片空白 情况是这样的 我正在开发一个链接到 SQL Server 后端的 MS Access 前端 我在某种程度上使用 Access 中的链接表 表单访问 SQL DB 这样 当用户更新表单中的值
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach

随机推荐

  • 如何将 GSP 渲染为字符串?

    对于我的电子邮件通讯 我需要将 GSP 通讯的 HTML 呈现为String 这样我就可以将其传递到我的电子邮件方法 我在 Stack Overflow 上找到了许多解决方案 但我不知道哪一个最适合与 Grails 2 2 最新版本 一起使
  • 使用 [XmlAnyElement]

    我试图保留一个对象的两个不同版本的数据 但没有取得任何成功 谁能告诉我我做错了什么 该类的版本一 DataContract Name Person public class Person V1 DataMember Name Name pu
  • 对 javascript MVC3 创建的元素进行不显眼的 jQuery 验证

    我有一个由 mvc3 脚手架创建的注册表单 e g div class editor label Html LabelFor model gt model Email div div class editor field Html Edit
  • 我可以将 Visual Studio 2010 的 C++ 编译器与 Visual Studio 2008 的 C++ 运行时库一起使用吗?

    我有一个应用程序需要在Windows 2000上运行 我还想使用Visual Studio 2010 主要是因为auto关键词 但是 我有点困惑 因为我需要该应用程序能够在旧操作系统上运行 即 视窗2000 Windows XP RTM W
  • 在Oracle中将本地日期时间(带时区)转换为Unix时间戳

    我目前有一个返回正确本地的 SQL 查询DATETIME从 UnixTIMESTAMP我们数据库中的列 这是一个使用特定的示例TIMESTAMP of 1539961967000 SELECT FROM TZ CAST DATE 1970
  • NestJS:如何自定义日志消息以包含请求 ID 和发生日志消息的文件名称

    我是 NestJS 的新手 想要自定义日志消息以包含 x request id x correlation id 以及日志消息所源自的文件的名称 但不确定 NestJS 中是否有任何内容可以做到这一点 我的应用程序将 NestJS 与 Fa
  • R:奇怪的三角函数行为

    作为一名过渡到 R 的 Matlab 用户 我遇到了将三角函数应用于度数的问题 在 Matlab 中 有弧度和度数的三角函数 例如分别为 cos 和 cosd R 似乎只包含弧度函数 因此需要我创建自己的函数 见下文 cosd lt fun
  • 如何使用Android代码发送电子邮件[重复]

    这个问题在这里已经有答案了 可能的重复 在 Android 中使用 JavaMail API 发送电子邮件 而不使用默认的 Android 应用程序 内置电子邮件应用程序 我是 Android 编码新手 我的要求是我想使用 Android
  • 通过使用样式修改文本框文本绑定的参数

    我想要一个TextBox以货币格式显示数字 通过设置StringFormat c装订上 当 的时候TextBox被选中 当IsKeyboardFocused true 我希望格式消失 直到焦点集中在TextBox丢失了 我找到了一种方法来做
  • ajax文件下载:进度事件,供下载

    我了解 xhr upload onprogress 事件 文件上传 像这样 xhr upload onprogress function e if e lengthComputable var percentUploaded Math fl
  • Python 删除 for 循环内的数组项

    我正在尝试根据彼此之间的距离删除数组内的一些项目 I have 104包含元组的数组中的项目 points 910 28 914 29 919 30 915 32 766 73 777 75 768 80 1227 117 1224 119
  • 将 System.ComponentModel.DataAnnotations 与 Entity Framework 4.0 结合使用

    我正在使用 MVC3 并使用 Entity Framework 4 0 实体作为我的模型 到目前为止 就将其用作模型而言 一切都运行良好 所有增删改查操作 页面生成都是开箱即用的 不过 我想知道如何获得与手动生成模型时相同的强大标签和验证信
  • WebLogic 12.2.1 中的最大帖子大小

    我在使用 WebLogic 12 2 1 时遇到问题 从版本 10 3 2 迁移到版本 12 2 1 后 我意识到我可以使用大于 4096 的帖子进行身份验证 这是 WLO 12 1 2 中的新约束 参考 https docs oracle
  • Mybatis ResultMap 是 HashMap

    我似乎找不到一种方法来获取结果地图作为地图 MySQL 是
  • 运行 dev_appserver.py 时如何访问远程数据存储?

    我正在尝试运行一个本地主机 Web 服务器 该服务器可以使用以下命令对远程数据存储进行远程 api 访问 remote api stub method ConfigureRemoteApiForOAuth 我一直在使用以下谷歌文档作为参考
  • Android 设备选择器 - 调试列

    当您使用多个 Android 设备从 Eclipse 进行调试时 您会看到 Android 设备选择器 对话框 您可以选择其中一个来部署应用程序 该对话框有一个 调试 列 该列到底意味着什么 我的一部手机说 是 而另一部则什么也没说 第二部
  • 如何使用和不使用 JavaScript 将数据发布到 CouchDB

    我有一个节目显示一个表单 其中包含从文档填充的字段 我想更改该字段中的值 然后保存更新的文档 我很难找到一个清晰 简洁的示例来说明如何执行此操作 说真的 仅仅完成这个例子就会为很多人带来奇迹 我将省略很多内容以使其简洁 安装 Couchap
  • 更新“订单”列 MySQL?

    更新 订单 列的最佳方法是什么 假设我有一个 id 列从 0 到 9 order 列从 0 到 9 目前 它在数据库中的形式为 0 0 1 1 2 2 等 我的 HTML 页面发布了它想要的新顺序 0 8 1 3 2 6 等 这是完全随机的
  • 根据用户定义的类型创建表

    假设我有一个用户定义的类型 CREATE OR REPLACE TYPE TEST TYPE AS OBJECT f1 varchar2 10 f2 number 5 现在 我想创建一个表来保存这些类型 我可以执行以下操作 create t
  • 通过网络 ODBC 访问 *.mdb

    我有一个关于带有 mdb 的 ODBC 如何工作的一般性问题 根据我的理解 如果我错了 请纠正我 无论我是否使用odbc 当访问存储在另一台计算机 即NAS 上的MS Access数据库 mdb 时 我的计算机首先需要在对其执行任何操作之前