gpt4 book ai didi

c# - SQL Server CE 在某些计算机上速度极慢

转载 作者:行者123 更新时间:2023-12-02 04:43:20 26 4
gpt4 key购买 nike

我构建了一个默认使用 SQL Server CE 4.0 的应用程序,但也可以使用单独的 SQL Server (SQL Server Express)。

我已经将它部署到办公室周围的大约 10 台计算机上,它运行良好,除了其中的 2 台:当然是副总裁和 QA 人员 :-/

在这些计算机上,每次访问数据库大约需要 30 秒!如果我安装 SQL Server Express 2008 R2,并告诉我的应用程序改用它,那么它运行得非常快。

  • 两台有问题的机器都是 WinXP SP3,但大多数正常工作的 PC 也是 XP。
  • 我正在使用 C#.NET 4.0 应用程序通过 ClickOnce 使用私有(private)部署的 SQL Server CE。
  • 我正在使用 DbProviderFactory 允许使用相同的查询文本(或数据适配器)访问 SQL Server Express 或 SQL Server CE。
  • 大多数查询都很简单。少数使用DataAdapter
  • 几乎所有的查询最终都会返回数据,但我在我的日志文件中看到一个返回空的,没有错误/异常,但应该有大约 20-40 行和大约 80 列。
  • 对于每个查询,我都会创建、打开和关闭连接。我不清楚 SQL Server CE 是否需要/推荐/不推荐。

我不明白为什么这个应用程序适用于大多数电脑,但不适用于这少数电脑。

欢迎提出任何想法。

谢谢!

最佳答案

此问题的中间原因和解决方法是用户访问受密码保护的数据库使用的 .NET 加密文件。通过更改文件夹的权限解决了问题。

您可以使用 Run-As Admin 打开命令提示符并发出此命令 (Win XP)

 cacls.exe "C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys" /E /G Everyone:R

我还在 SQLCE 连接字符串代码附近的代码中添加了此注释:

 /**************************************************************************************
* To get rid of the slowdown on non-admin users you need to grant them read access to this folder:
* C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys (XP, 2003)
* C:\Users\All Users\Microsoft\Crypto\RSA\MachineKeys (Windows 7 or 2008)
**************************************************************************************/

这里提到了这个问题:SqlCe opens slow under a limited user account in Windows XP

这里:http://social.msdn.microsoft.com/Forums/sqlserver/en-US/eb6a01a7-0bfd-41e3-b4c8-34581c5ccaa3/sql-compact-4-locks-up-30seconds-when-accessing-encrypted-database-on-windows-xp-when-running-in?forum=sqlce

注意:在问题机器上,...\MachineKeys 文件夹在 WinExplorer 中可见,但文件实际上无法读取。 “每个人”都有不允许“读取”的“特殊”权限。我认为 .NET 可能是由域管理员而非本地管理员安装的。

这只是一种解决方法。我仍然不明白为什么该文件夹在一些机器上有奇怪的权限,但在其余机器上没有。我正在使用 ClickOnce 进行部署,因此无法自动更改文件夹权限。

我只在 XP 上看到过这个问题,其他帖子暗示这只是 XP 的问题,所以希望我不必担心太久...

关于c# - SQL Server CE 在某些计算机上速度极慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20354917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com