gpt4 book ai didi

sql-server-ce - SQL Server CE-内部错误: Cannot open the shared memory region

转载 作者:行者123 更新时间:2023-12-04 06:05:26 24 4
gpt4 key购买 nike

我有一个SQL Server CE数据库,该数据库在dev中工作正常,但是在客户端上安装时出现问题。

  • 将SQL Server CE 3.5依赖项复制为部署的一部分。
  • 目标计算机是干净的Windows 7 32位Ultimate镜像。

  • 事件日志中有关异常的消息是:
    Message: Internal error: Cannot open the shared memory region. 
    Stack Trace: at System.Data.SqlServerCe.SqlCeConnection.ProcessResults(Int32 hr) at
    System.Data.SqlServerCe.SqlCeConnection.Open(Boolean silent) at
    System.Data.SqlServerCe.SqlCeConnection.Open() at
    System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user) at
    System.Data.Linq.SqlClient.SqlProvider.Execute(
    Expression query,
    QueryInfo queryInfo,
    IObjectReaderFactory factory,
    Object[] parentArgs,
    Object[] userArgs,
    ICompiledSubQuery[] subQueries,
    Object lastResult) at
    System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(
    Expression query,
    QueryInfo[] queryInfos,
    IObjectReaderFactory factory,
    Object[] userArguments,
    ICompiledSubQuery[]
    subQueries) at
    System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(
    Expression query) at
    System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() at
    System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at
    System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at
    Application specific stuff here

    看起来好像是 SSCE_M_CANTOPENSHAREDMEMORY,并且该站点表示没有连接字符串值可以更改此值,并且最终开发人员通常无法解决这些问题。

    有没有人遇到过这个问题,如果可以的话,您能够解决这个问题吗?

    最佳答案

    没错,必须安装CE运行时。如果使用的是VS2010,则必须确保安装CE运行时的SP2。
    即使安装了该软件,我也遇到了这个问题。就我而言,我有一个SQL Server CE实例,使用ADO.NET Synchronization Services充当数据库的本地缓存。这是你的情况吗?
    我发现在测试机上出现此错误:

  • 如果平台是Vista或Windows
    7;和
  • 如果SQL Server CE数据库是
    与应用程序一起安装到
    驻留在 protected 目录中,例如
    作为C:\Program Files或C:\Program
    文件(x86);和
  • 如果程序使用
    标准用户凭据(即
    (未升级为管理员)

  • 该情况的解决方法包括:
  • 将应用程序“作为
    管理员”;或
  • 配置应用程序 list 以要求管理员凭据;或者
  • 重构应用程序,以便.sdf文件位于不 protected 目录中,例如C:\ProgramData [some subdirectory name],并修改连接字符串以指向该区域;或者
  • 在用户空间中重定位整个应用程序目录。例如,在“文档”或类似的空间中,具有对EXE和.SDF文件的完整文件访问权
    显然,每种选择都有其缺点。
  • 关于sql-server-ce - SQL Server CE-内部错误: Cannot open the shared memory region,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571847/

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