我在 SharePoint 2010 中有一个外部内容类型,它使用 BCS 从 SQL 2008R2 数据库中提取数据。所有数据都恢复正常,但当我将读取列表中显示的值与我在 Management Studio 中查询数据库时返回的值进行比较时,时间戳列关闭了 2 小时。我附上了一张带有示例的图片:
浏览器中显示的时间比 Management Studio 返回的时间戳早 4 小时。我已经检查了客户端和服务器上的日期和时间设置,它们都很好。有什么想法可能导致这种情况吗?
我在 SharePoint 2010 中有一个外部内容类型,它使用 BCS 从 SQL 2008R2 数据库中提取数据。所有数据都恢复正常,但当我将读取列表中显示的值与我在 Management Studio 中查询数据库时返回的值进行比较时,时间戳列关闭了 2 小时。我附上了一张带有示例的图片:
浏览器中显示的时间比 Management Studio 返回的时间戳早 4 小时。我已经检查了客户端和服务器上的日期和时间设置,它们都很好。有什么想法可能导致这种情况吗?
检查 BDC 的规范化设置。
确保你像这样设置它:
<TypeDescriptor TypeName="System.DateTime"
Name="YourDate" DefaultDisplayName="Your Date">
<Interpretation>
<NormalizeDateTime LobDateTimeMode="Local" />
</Interpretation>
</TypeDescriptor>
默认情况下,通过 BCS 创建的外部系统使用 UTC 作为时区。您的 SQl 数据库从 Windows 继承时区设置,因此请使用您的外部内容类型属性和您的前端 SharePoint 设置交叉检查服务器设置。根据您的设置,如果您的用户配置文件具有指定的时区,则时间将从 UTC 转换为用户的时区。如果未指定时区(默认),则使用托管外部数据的站点的时区。