BCS 整合sql表時發現如下問題:
datetime字段在列表中帶了時區,好比插入12-6號的數據,在sql中顯示的是12-5
date類型字段沒法正確識別,插入成功但報錯
LobSystem (外部系統)爲實體(外部內容類型)「BDI,http://10.136.240.66/kpi」的「建立」建立方法返回的標識符爲 Null。
解決:
1.SPD導出BDC模型,並從SPD中刪除
2.VS打開編輯
3.修改如下內容
本地時區:<
NormalizeDateTime
LobDateTimeMode
=
"
UTC
"
/>
爲
<
NormalizeDateTime
LobDateTimeMode
=
"
Local
"
/>
只顯示日期部分:<
Property
Name
=
"
Format
"
Type
=
"
System.String
"
>
DateOnly
</
Property
>
顯示兩位小數:<Property Name="Decimal Digits" Type="System.Int32">4</Property>修改成
<
Property
Name
=
"
Decimal Digits
"
Type
=
"
System.Int32
"
>
2
</
Property
>
<Parameter Direction="In" Name="@PublicDate">
<TypeDescriptor TypeName="System.DateTime" CreatorField="true" IdentifierName="PublicDate" Name="PublicDate" DefaultDisplayName="日期">
<Interpretation>
<NormalizeDateTime LobDateTimeMode="UTC" />
</Interpretation>
</TypeDescriptor>
</Parameter>
改成
<Parameter Direction="In" Name="@PublicDate">
<TypeDescriptor TypeName="System.DateTime" CreatorField="true" IdentifierName="PublicDate" Name="PublicDate" DefaultDisplayName="日期">
<Properties>
<Property Name="Format" Type="System.String">DateOnly</Property>
</Properties>
<Interpretation>
<NormalizeDateTime LobDateTimeMode="Local" />
</Interpretation>
</TypeDescriptor>
</Parameter>
4.保存文件並在管理中心導入