代码之家  ›  专栏  ›  技术社区  ›  AdamBT

Web部件中的配置文件用户数据库错误

  •  2
  • AdamBT  · 技术社区  · 16 年前

    编辑: 修改标题并添加更新。

    使现代化 我们不再相信这是64位对32位的问题。我们发现,唯一看到这一点的人是农场政策中设置为“完全控制”的人。(不作为系统帐户)。一旦我们测试了普通用户,我们发现没有人有问题。从服务器场策略中删除“问题”用户并将其重新添加,修复了除一个用户之外的所有用户(一位同事开发:)。

    我们用2个32位WFE和一个32位应用服务器开始了我们的农场。我们已经决定为我们的农场增加64位前端,在大多数情况下,几乎所有的东西都运转良好。例外情况是访问用户配置文件数据库的自定义web部件。32位前端工作正常,但64位前端出现以下错误:

    找不到用户:无法从数据库加载配置文件数据。

    描述:未处理的异常 在执行过程中发生 有关堆栈跟踪的详细信息,请参阅 密码。

    例外情况详情: Microsoft.Office.Server.UserProfiles.UserNotFoundException: 找不到用户:无法加载配置文件 来自数据库的数据。

    生成了一个未处理的异常 在执行当前 例外的来源和位置 可以使用异常来识别 堆栈跟踪如下。

    堆栈跟踪:

    [UserNotFoundException:用户未 找到:无法加载配置文件数据
    Microsoft.Office.Server.UserProfiles.UserProfile.Load(SqlDataReader myReader,布尔型,布尔型
    Microsoft.Office.Server.UserProfiles.UserProfile.Load(SqlDataReader 我的阅读器)+64
    strAcct,Guid gAcct,字节[]bSid, 可为空的`1记录ID,布尔值 doNotResolveToMasterAccount)+1507
    Microsoft.Office.Server.UserProfiles.UserProfile..ctor(UserProfileManager 对象管理器,字符串策略,布尔值
    Microsoft.Office.Server.UserProfiles.UserProfile..ctor(UserProfileManager 对象管理器,字符串策略)+80
    strAccountName)+205

    因为WFE在同一个服务器场上,所以它应该查看同一个数据库。

    任何想法都将不胜感激!

    谢谢

    2 回复  |  直到 15 年前
        1
  •  3
  •   Peter Seale    16 年前

    “街上的话” 就是不能在同一服务器场上混合使用32位和64位服务器(数据库服务器除外)。

    http://technet.microsoft.com/en-us/library/cc261700.aspx 说:

    所以,您可以混合64位和32位,但显然不是32位和64位WFE。我不是说这是真的,我是说Technet说这是真的。Technet通常比较保守,所以,呃,去问问你的MVP。

        2
  •  1
  •   AdamBT    16 年前

    彼得,非常感谢你提供的额外信息。我会向MVP询问这件事。

    这个Web部件是64位WFE上唯一给我们带来问题的部件。其他一切都很好。我们还有其他自定义代码(Web部件、事件接收器、内容类型……等等),它们在64位模式下运行时没有问题。

    谢谢你的回复;我会发布MVP对此的任何评论。

    编辑:来自MVP的响应

    不会很好地平衡。它是 然而它应该会起作用。

    推荐文章