每月檔案: 5 月 2011

PerformancePoint 和錯誤 33494

我的一個客戶今天打電話來當他們的 PerformancePoint 環境 (在 SharePoint 中 2010) 拋錨了。  一場中的應用程式伺服器上的磁碟空間跑低。  而解決這一問題, 用戶端卸載"太多",所有的 PP 東西停止運作。  各種 web 部件將顯示"時發生意外的錯誤. 錯誤 33494. 為您的管理員已記錄的其他詳細資訊":

image

抬起頭來錯誤,並沒有發現任何特定的"錯誤 33494"但過帳此 MSDN 論壇是很有説明: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

我發現這裡的 ADOMD.NET 作為元件在 SQL Server 中 2008 功能包: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(點擊放大)

下載並安裝它,它固定的一切.

我覺得這是種很古怪的錯誤, 但是,如果你點擊它, 您至少有一個選擇.

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

Lists.asmx, GetListItems 和資料夾

我做了一些調查有人今天周圍作為 SharePoint 的一部分提供的 list.asmx web 服務 2010 (及更早版本).  她之所以能夠獲得在根資料夾的清單項 (包括子資料夾的名稱), 但不能在子資料夾中的專案。  我做了一些環顧四周在互聯網絡上,這是一個令人驚訝的常見的問題。  然而, 沒能得到很好簡單問題的答案, "如果我知道該資料夾, 如何獲取資料夾中的專案?”  要誠實, 因為我想我自己對這一出圖了一會兒我並沒有試圖在所有的努力 微笑.

進行此設置, 我創建了名為"博客情境"網站和自訂清單名稱為"自訂清單的子資料夾"。  然後創建資料夾名:

  • 一年 2005
  • 一年 2006
  • 一年 2007

我添加的資料夾"2006 年"幾個專案。  這是它看起來像:

image

我的朋友並不是編寫 C# 代碼,但寧願使用 Java, 所以 SOAP 信封是她的真正需要。  達到目標,, 寫了有點 jQuery,然後用於小提琴手獲得實際的 HTTP 會話.

這裡是有關 jQuery (我複製代碼下下麵如果要複製/粘貼):

image

他們第一個關鍵是要包括兩個 <queryOptions> 和 <QueryOptions> 節點。  第二個關鍵是, <資料夾> 節點是一個 URL,用戶端可以訪問.

可能有其他方法來獲得這, 但這工作對我來說,使用 jQuery 時.

這裡是上述的 SOAP 信封:

<soapenv:信封 xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>                
  <soapenv:正文>
    <GetListItems xmlns =’
http://schemas.microsoft.com/sharepoint/soap/’>
      <listName>自訂清單的子資料夾</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef 名稱 =' 標題’ />
          <FieldRef 名稱 ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <資料夾>
http://demoserver1/博客 子資料夾/2006 年年方案/清單/自訂清單</資料夾>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:正文>
</soapenv:信封>

很多例子和討論圍繞這讓我相信我所需要的是 <QueryOptions> 並指定資料夾名稱。  對我來說, 我需要這兩包內 <queryOptions> 也可以指定完全限定的 URL <資料夾> 節點.

這裡是 jQuery AJAX 安裝程式:

$(文檔).準備好了(功能() {
       var soapEnv =
           "<soapenv:信封 xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
               <soapenv:正文> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/sharepoint/soap/’> \
                       <listName>自訂清單的子資料夾</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef 名稱 =' 標題’ /> \
                              <FieldRef 名稱 ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <資料夾>http://demoserver1/Blogging 子資料夾/2006 年年方案/清單/自訂清單</資料夾> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:正文> \
           </soapenv:信封>";

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

Lists.asmx, GetList 和"的值不能為空”

我今天發現的 GetList() 中的方法 lists.asmx web 服務已非常仔細地調用或很容易引發一種神秘"的值不能為空"的異常 (這是假設你過去的更糟的一般錯誤訊息, "類型的異常 ' Microsoft.SharePoint.SoapServer.SoapServerException’ 引發了。")  具體, 我發現你不能提供任何種類的首碼的 GetList 方法。  下面的 jQuery 片斷闡釋了點:

image

如果你這樣做, 以"值不能為空"按此 web 服務回應 小提琴手-提供 HTTP 談話全文:

<?xml 版本 ="1.0" 編碼 ="utf-8"?>
  <肥皂:信封
     xmlns:soap ="
http://schemas.xmlsoap.org/soap/envelope/"    
     xmlns:xsi ="
http://www.w3.org/2001/XMLSchema-instance
     xmlns:xsd ="
http://www.w3.org/2001/XMLSchema">

  <肥皂:正文>
    <肥皂:故障>
      <faultcode>肥皂:伺服器</faultcode>
      <faultstring>
        類型的異常 ' Microsoft.SharePoint.SoapServer.SoapServerException’ 引發了.
      </faultstring>
      <詳細>
        <errorstring xmlns ="
http://schemas.microsoft.com/sharepoint/soap/">
值不能為空.
        </errorstring>
      </詳細>
    </肥皂:故障>
  </肥皂:正文>
</肥皂:信封>

答案是肯定的, 您很可能不會添加該"s0"首碼你自己, 但是一些工具是容易做這件事 (像日食).

這是更令人困惑 / 令人沮喪,因為其他的方法能容忍首碼。  例如, " GetListCollection 方法不介意是否它首碼, 即使使用像"xyzzy"廢話首碼:

image

這"的值不能為空"似乎相當常見,所以希望這會説明別人,在將來的 lists.asmx 與.

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

無止境地嵌套 <div> 標記和 jQuery

這似乎是一個古怪的話題, 我不確定這的確值得有關的博客, 但是,從未停止過我, 所以在這裡我們去 微笑

我正在那裡我揪一些資料從搜索專案, 打包成一條 XML 消息,然後該 XML 是最終轉換為 XSLT 通過 HTML。  有很多的 jQuery 涉及, 其中一位實現一些定位字元的功能。  當您按一下某個選項卡上 (真的, 一 <div>), jQuery 調用.hide() 和.show() 對各種 div (初始頁面載入下載的所有內容,所以在這種情況下有沒有回發).

一群小時前, 選項卡切換邏輯開始運行不穩定,它不會顯示我的選項卡中的一個。  我最終跟蹤它的事實,ie 瀏覽器 (至少) 原以為, <div> 到目前為止的嵌套標籤, 遠比預期更深。將顯示開發人員工具列:

-<div id ="Tab1Content">
  -<div>
    -<div>
      -<div id ="Tab2Content">
        -<div>
           …………………………
                   </div>  <— — 終於呈現它一路下來被關閉!

所以, 如果我做了 $("#"Tab1Content).隱藏(), 我還會隱藏前臺,我可能永遠不會告訴前臺是否我還沒給看標籤頁 1。  複製,並且的代碼粘貼到 visual studio 和它很好地顯示所有 div 的襯砌起來的, 就像他們應該做的事情, 這樣看:

-<div id ="Tab1Content">
  +<div>
  +<div>
-<div id ="Tab2Content">
  +<div>
  +<div>

我的頭靠在牆上打了一會兒,並注意到在實際的 HTML 代碼產生大量的空 <div> 標籤, 像:

<正文>

  <div id ="Tab1Content">

    <div id ="第一行"/>
    <div id ="行 2"/>

  </div>

  <div id ="Tab2Content">

    <div id ="第一行"/>
    <div id ="行 2"/>

  </div>

</正文>

(以上是過於簡單化的 waaaaaaaaaaaay。  空的 div 標籤都是完全有效. 一些我 <div> 標記是內容的完整, 但更多的不是。  我認識到,那我 <xsl:為每個> 指令發出短型 div 標籤時 xsl:對於每個才 ' 找到的任何資料。  被迫輸出的 HTML 注釋, 如圖所示:

image

 

畢竟這樣做, 所有 div 的很好地都排隊和我選項卡切換開始工作.

如往常一樣, 我希望這將有助於在必要時有人.

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

快速修復: "內容類別型名稱 '$ 資源:ReportServerResources … 不能包含 … 特殊字元”

我花了一些時間來清理 SharePoint 2010 網站和清理問題之一涉及腐敗 / 不正確地安裝 SQL 伺服器報表服務問題。  這個問題引起我的一個同事試圖將網站另存為範本,然後創建時創建一個基於該範本的新網站。  保存操作正常工作, 但當她試圖創建新網站, SharePoint 顯示下面的錯誤訊息:

錯誤

內容類型名稱 '$ 資源:ReportServerResources,DataSourceContentTypeName;' 不能包含: \ / : * ? “ # % < > { } | ~ & , 兩個連續的句點 (..), 或特殊字元,如一個選項卡.

這裡是一個螢幕上限:

 

image

在網站中了看看的內容類型,併發現了這個:

image

這些內容類型都清楚不健康.

這個問題似乎在互聯網絡上很多來,似乎也並不是如何解決它的單一共識。  我找到了一個很方便的表,不良內容類型名稱映射到這裡好內容類型名稱: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  我這上面手動更新它們:

image

(BrightStarr 在名稱中是可選的明顯, 但它不會傷害 微笑 )

這讓我來創建新的範本並沒有破壞任何其他網站上, 其中包括一些 PerformancePoint 伺服器的東西完全不同的一群人正在處理的問題。  當時我能夠在範本上創建一個新的網站。  成功!

我不確定這是 100% 解決方案, 但這讓我和大家都涉及過去這惱人的錯誤。  如果找到了任何新的東西, 我會發佈更新。  我緊張源于這一事實這些名稱不應該是錯放在第一位,通過固定的顯示名稱, 不,我要修理的內部名稱。 

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

原因之一為"此故障的創建者不指定的原因。”

我一直在做很多工作與 SharePoint 搜索最近和專門的 KeywordQuery 類, 屬性和方法.

如果您想要的結果集返回嫌犯之外的結果 (請看這裡), 您將其添加到 SelectedProperties 集合, 如在:

myKeywordQuery.SelectProperties.Add(""xyzzy);

很多的感謝和對這頂帽子的提示 寇里 · 羅斯這很有説明的博客 (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

以我為例, "xyzzy"並不是實際託管的屬性。  當我添加到 SelectedProperties 無論如何, SharePoint 扔我最喜歡的一個曾經運行時異常:

此故障的建立者確實不指定一個理由。

我特別喜歡資本"R"的原因。  這聽起來對我來說像.net 等效于"我有沒有嘴, 和我必須尖叫.”

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

便利的參考: KeywordQuery 搜索的預設結果

當您調用執行() KeywordQuery 方法, 您可以創建基於 ResultType.RelevantResults 的 ResultTable。  此代碼片段說明了我的意思是:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

生成的表將有以下各列的資訊: 

作業識別碼
排名
標題
作者
大小
路徑
說明
寫入
網站名稱
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

我從 SharePoint 派生此清單 2010 環境, 企業版。  希望它能方便給某人在未來.

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

其中一個原因: "提取解決方案中的 cab 檔失敗”

Visual studio web 部件上工作時專案今日 (星期三), 我做了一些檔作為部署過程的一部分被放入的 _layouts 資料夾中次要再 org. 具體, 我改名.js 檔從"TypeAhead.js"到"TypeAhead(老)."js  我打算將其刪除作為其繼任者的"TypeAhead.js"證明是正確的。  它看起來像這樣:

image

這立即引起 visual studio 的問題,當我想要將專案部署:

在 '添加解決方案' 的部署步驟中發生錯誤: 提取解決方案中的 cab 檔失敗.

事實證明你不應該把一個括弧中檔的名稱。  我刪除了 parens,解決了問題.

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin