Ms access MS Access附加查询仅在Wifi连接上慢
我正在使用MS Access将100条记录插入本地SQL server上的表中 当我的电脑通过以太网连接到服务器时,追加查询将在不到一秒钟的时间内运行 当同一台电脑通过WiFi路由器连接到此服务器时,需要30秒以上的时间 详情:Ms access MS Access附加查询仅在Wifi连接上慢,ms-access,wifi,Ms Access,Wifi,我正在使用MS Access将100条记录插入本地SQL server上的表中 当我的电脑通过以太网连接到服务器时,追加查询将在不到一秒钟的时间内运行 当同一台电脑通过WiFi路由器连接到此服务器时,需要30秒以上的时间 详情: PC:Core7 8G RAM运行Win10,安装了所有更新 MS Access:安装了所有更新的MS Access 2003。我还尝试了MS Access 2010。追加查询为: 插入dbo_表A(A、B、C)从表B中选择表B.X、表B.Y、表B.Z 这些表只包含3个
插入dbo_表A(A、B、C)从表B中选择表B.X、表B.Y、表B.Z代码>
这些表只包含3个索引整数和一个键字段。没有计算字段,数据库已压缩。使用代码docmd.runsql时会得到相同的结果。通过WiFi进行选择查询的速度很快
服务器:Xeon 8G RAM运行在Windows Server 2003和SQL 2005上,并安装了所有更新。没有其他用户连接
网络:WiFi路由器包括一个多端口交换机。服务器直接连接到此交换机
目前没有人连接到Wifi。它是5Ghz 802.11n。
speedtest.xfinity.com在以太网端口上运行时,下载速度为27Mbps,上传速度为6Mbps,在WiFi上的下载速度相同
非常感谢您的回复。简短的回答是,您不应该在后端通过WiFi连接的情况下运行拆分数据库。始终使用有线连接
原因是,WiFi连接可能会出现严重的中断,而数据库引擎从来都不是,现在也不是为这种情况设计的。实际上,如果使用WiFi,您的后端很可能迟早会损坏
如果必须使用Wifi,请将前端安装在与后端有线连接的终端服务器上,并使用远程桌面运行前端。简单的回答是,您不应在后端通过Wifi连接的情况下运行拆分数据库。始终使用有线连接
原因是,WiFi连接可能会出现严重的中断,而数据库引擎从来都不是,现在也不是为这种情况设计的。实际上,如果使用WiFi,您的后端很可能迟早会损坏
如果必须使用Wifi,请将前端安装在终端服务器上,并与后端进行有线连接,然后使用远程桌面运行前端。这与其说是一个“答案”,不如说是一些调试提示。这个问题真的是离题了,因为它涉及到重要的调试,但我确实有一些提示太长,无法发表评论
现在我看到,[tableB]
位于插入SQL Server的Access数据库中。Access可能会生成许多单独的语句来逐个插入数据行,而不是执行SQL Server上执行的单个查询。既然SQL Server看不到Access表,并且没有用于插入多个值的Access SQL语句,它还能做什么呢
要了解实际情况,我建议使用。该网页不清楚,但如果您安装了用于连接SQL Server的ODBC驱动程序,则将安装实用程序“ODBC数据源管理员”。只需单击开始按钮并键入“ODBC…”,它将显示“ODBC数据源(32位)”以及可能的“ODBC数据源(64位)”。仅使用32位,因为Access将仅使用这些驱动程序。按照其他说明捕获发送到服务器的所有SQL命令
我现在建议的唯一解决方法是使用VBA生成自己的多语句Transact-SQL文本,并使用ODBC Direct发送到服务器。这将避免过多的语句生成和访问处理。要“正确”(即以最高效、安全的方式)执行此操作,需要了解Transact-SQL、创建和处理服务器事务、直接访问SQL表与参数化过程等。这与其说是“答案”,不如说是一些调试提示。这个问题真的是离题了,因为它涉及到重要的调试,但我确实有一些提示太长,无法发表评论
现在我看到,[tableB]
位于插入SQL Server的Access数据库中。Access可能会生成许多单独的语句来逐个插入数据行,而不是执行SQL Server上执行的单个查询。既然SQL Server看不到Access表,并且没有用于插入多个值的Access SQL语句,它还能做什么呢
要了解实际情况,我建议使用。该网页不清楚,但如果您安装了用于连接SQL Server的ODBC驱动程序,则将安装实用程序“ODBC数据源管理员”。只需单击开始按钮并键入“ODBC…”,它将显示“ODBC数据源(32位)”以及可能的“ODBC数据源(64位)”。仅使用32位,因为Access将仅使用这些驱动程序。按照其他说明捕获发送到服务器的所有SQL命令
我现在建议的唯一解决方法是使用VBA生成自己的多语句Transact-SQL文本,并使用ODBC Direct发送到服务器。这将避免过多的语句生成和访问处理。要“正确地”(即以最高效、安全的方式)执行此操作,需要了解Transact-SQL、创建和处理服务器事务、直接访问SQL表与参数化过程等。我怀疑您的意思是在本地网络上,但当提及本地服务器时,通常指在同一台计算机上。2) 访问文件驻留在哪里?它是否在网络共享上。。。即使它是映射驱动器?3) 尽管进行了xfinity speedtest,但我怀疑SQL Server和WiFi计算机之间的带宽配置不理想,但这将是一个路由器/网络问题