在SharePoint 2003和2007中,有一個名爲AllLists的表,其中有一個名爲tp_Fields的列,其中包含一個xml,其中包含特定列表的所有字段。如何從SharePoint 2010中的數據庫中找到SharePoint列表的字段?
存儲在tp_Fields列中的XML的一個例子將是這樣一個SharePoint列表與3個字段:
<FieldRef Name="ContentTypeId" />
<FieldRef Name="_ModerationComments" ColName="ntext1" />
<FieldRef Name="WebPartTypeName" ColName="nvarchar9" />
我們有從該柱,使用C#代碼例如讀取的應用
var tpFields = (String) drView["tp_Fields"];
在SharePoint 2010中,這一列的數據類型已更改爲VARBINARY和僅包含一些二進制數據,而不是!我知道理想的/推薦的解決方案是使用SharePoint Web服務或SharePoint對象模型,而不依賴於底層表,但不幸的是,我們有一個現有的應用程序,我們需要使它與2010年一起工作。我希望我們不必重新設計所有內容!)
如何知道SharePoint列表中SharePoint數據庫的哪些字段與SharePoint 2010中的數據庫有關?或者如果可能如何將此varbinary列轉換爲與之前類似的xml?
我希望問題很清楚(對其可能性tbh幾乎沒有希望)。
感謝,
這是使用服務器對象模型,Web服務還是什麼? – Servy
像我說的那樣,現有系統正在使用數據庫表。 –
這是批處理作業嗎? Web部分?代碼是否在服務器上運行?你可以在你的代碼中使用服務器對象模型嗎(即使它只是用於本節)?這甚至是.NET代碼,還是完全使用其他範例?如果是這樣,那是什麼? – Servy