0

情景1:如何在不改變所有內容的情況下更改SharePoint外部內容類型中的列?

我有一個返回行/列的SQL Server存儲過程。然後在SP Designer(SPD)中創建一個外部內容類型(ECT)並推送到中央管理員(CA)。在CA中,我分配了權限。在網站上,我創建了一個外部列表(EL)並可以查看我的數據。都好。

我更改列名從「供應商名稱」爲「在程序供應商現在我進入SPD改變ECT,有時無法打開,給了一個錯誤:

」的BDC服務應用程序Business Data Connectivity Service無法訪問。完整的例外文本是:Xml type'xdt:untypedAtomic列表'不支持從Clr類型'Guid'轉換爲Clr類型'String'。「

我沒有看到與我的操作有什麼關係變化。撤消我的變化過程並沒有解決這個問題。我不得不刪除了ECT和ET並重新創建它們,但有時又發生了。

方案2

雖然測試,看它是否發生再次,我發現它有時沒有,我有不同的問題

在proc中重命名字段後,我進入SPD和successf Ully打開了ECT並做了修改,推動了CA.在CA中,我發現所有權限都已被刪除。這是個問題。爲什麼會發生?如何避免?

所以我重做權限,然後去網站,兩個不同的「子」問題發生。

方案2甲

外部列表被破壞,不能觀看或更新以顯示新的列名。我必須刪除列表並重新創建它。這顯然會殺死任何視圖,並將其從每個頁面中刪除,等等,或任何引用它的內容。這是一場噩夢。如何避免這種情況?我想到了一個辦法,導致....

情景2 B

而不是創建外部列表的,我編輯網頁,添加一個業務數據列表(BDL)網絡的一部分,並加入我的ECT到它。一切都很好。然後,我故意重新命名proc中的一列,打開SPD並(此時)能夠打開ECT,更新字段名稱。我推到了CA.所有權限被刪除(嘆氣)。我重新添加了它們。然後,我用我的BDL去了我的網頁,這是壞了。我編輯了網頁部分,並能夠更新它,以便數據顯示在屏幕上。

但是,舊的「Vender Name」字段丟失了(沒有意外,因爲我將其重命名)。但新的「供應商」字段也缺失。在BDL網站部分,我編輯了視圖,驚奇地發現NEITHER字段在可以添加到視圖中的字段列表中。在SPD中,我打開ECT來驗證新領域是否在那裏(是)。沒有多少將ECT推送到CA,重新獲得許可權和編輯BDL導致出現新字段。然後,最後,不知怎的,新的領域出現在屏幕上,而我沒有把它添加到BDL視圖 - 緩存問題?

問題

所以現在我只剩下兩個問題:1。 你能使用一個外部列表,並避免上述問題呢? 2.爲什麼權限在每次ECT更新時都消失,以及如何防止這種情況發生?

謝謝。

+0

我愛你的標題:) – dimzak

+0

我們放棄了所有這些都是廢話。 – Geminirand

回答

-1

對於情景1:Sharepoint對於「GUID」數據類型並不酷。在對ECT進行更改之前,將ECT分爲一級(如果您「過於遙遠」並且可能會丟失更改,共享點將提醒您),並檢查共享點分配給每個字段的數據類型請注意任何GUID數據類型,您可能必須手動將它們強制轉換爲view/proc中的varchar,然後關閉/重新打開ECT。

情況2:這可能是一個時間問題,發生在我之前。發生的事情是,你在設計者中創建了ECT並保存了它,然後去了CA來設置權限。如果你沒有理由重新更新你的ECT,你會很好。但問題是,您需要在設置權限後進行更改,但可能已將新創建的ECT保留在設計器中。所以你必須做的是 - 在CA中設置權限之後,不要保存對ECT的任何更改,直到您驗證您在設計器中看到您在CA中設置的權限(這是右上角的框)。這是一個問題:SP設計器不允許你設置權限,但是在保存時HAPPILY會覆蓋它們,所以如果你在設計器中看不到任何權限,那麼保存該ECT將「重置」權限爲空。在設計人員設置權限後,您必須等待/刷新(有時關閉並重新打開ECT)設計人員的ECT,直到您在那裏看到許可證。情景2B:經常對ECT進行更改必須讓他們「傳播」到網站(這只是我如何設想的,我沒有閱讀過)。在做出更改後,我發現我的ECT完全崩潰(您將得到一個不會有用的關聯ID錯誤),或者只是看不到我的更改。解決辦法是「煙霧,如果你有時間」。進行更新後,我通常至少等待10分鐘,直到我開始擔心ECT是否損壞,沒有顯示我的更改等。

希望這有助於您!

相關問題