在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