簡體   English   中英

有關列綁定的SSAS多維數據集處理錯誤

[英]SSAS cube processing error about column binding

這是處理SSIS多維數據集后收到的錯誤消息

Errors in the back-end database access module. The size specified for a binding was too small, resulting in one or more column values being truncated.

但是,它無法指示什么列綁定太小。

我該如何調試?

這個錯誤消息使我瘋狂了幾個小時。 我已經發現哪一列增加了長度,並更新了源中的數據表,該表現在顯示了正確的長度。 但是錯誤不斷出現。 事實證明,該字段已在多維數據集的“維度用法”選項卡上的“事實到維度”鏈接中使用。 並且當您刷新源時,為該鏈接創建的綁定不會刷新。 解決方法是刪除(將關系類型更改為“無關系”)並重新創建該鏈接。

Upd :由於該答案似乎仍然有意義,所以我想我將添加一個屏幕截圖,以顯示您可能遇到此問題的區域。 如果出於任何原因,您在尺寸標注到事實鏈接中使用字符串,則可能會受到大小增加的影響。 並且解決方案如上所述。 這是維度屬性上的鍵,名稱和值列的問題的補充。 尺寸用法屏幕

ESC是正確的。 從CodePlex安裝BIDS幫助器。 右鍵單擊“ Dimensions”文件夾,然后運行“數據差異檢查”。

維度數據類型差異檢查

這解決了我的問題。

  1. 使用SQL Server數據工具打開SSAS數據庫。
  2. 打開SSAS數據庫的數據源視圖。
  3. 右鍵單擊一個空白區域,然后單擊Refresh
  4. 將打開一個窗口,顯示對基礎數據模型的所有更改。

文獻資料

備用修補程序1-SQL Server 2008 R2(尚未在2012年嘗試過,但假定可以使用)。

  1. 更新/刷新您的DSV。 注意任何更改的列,以便您進行檢查。
  2. 打開使用更改的列的每個維度。 查找相關屬性,並展開屬性KeyColumnsNameColumnValueColumn
  3. 查看每個屬性的DataSize屬性,如果這些屬性與DSV中的值不匹配,請進行相應的編輯。 屬性表

替代修補程序2

  1. 打開受影響的* .dim文件,然后搜索您的列名/綁定。
  2. 更改數據大小元素: <DataSize>100</DataSize>

如Esc所述,列大小更新會影響多維數據集本身中的維度使用情況。 您可以按照Esc的建議進行操作,也可以直接編輯* .cube文件-搜索更新的屬性和相關的數據大小元素: <DataSize>100</DataSize>

當列大小更改時,我嘗試了兩種修復方法,並且它們均有效。

在我的特定情況下,問題是因為我的查詢是從Oracle中讀取的,並且硬編碼列的末尾有空格(我的錯誤)。

我刪除了尾隨空格,並且在很好的情況下,將硬編碼值轉換為CAST ('MasterSystem' as VarChar2(100)) as SOURCE

這解決了我的特殊問題。

就我而言,問題是在實時服務器上的多維數據集上進行的。 如果您正在實時處理多維數據集,則連接到服務器時會彈出此錯誤消息。 但是,當您將多維數據集作為解決方案保存在計算機上時,您不會收到錯誤消息。 因此,請在本地處理多維數據集,然后在進行更改后進行部署。

遇到同樣的問題, Esc的答案也可以解決。 原因更多是“隱藏”的,更明顯的解決方案“刷新”和“數據類型差異檢查”在我的情況下沒有任何用處。

我找不到“調試”此問題的正確方法。

我遇到了這個問題。 這個問題是通過刪除rtrimltrim的前,后空格和函數 確定的

我遇到了同樣的問題,刷新數據源無效。 我有一個事實分區的物化參考尺寸,該尺寸給了我錯誤。 在我的DEV環境中,我未選中Materialize並處理了該分區,而沒有出現該錯誤。
奇怪的是,現在我可以為相同的關系啟用實現,並且它將繼續處理而不會出現問題。

首先要嘗試的簡單操作-多年來,我已經多次發生這種情況。

  1. 轉到數據源視圖並刷新(看起來好像什么都沒發生,但這是一個好習慣)
  2. 編輯尺寸。 刪除問題屬性,然后將其再次拖出數據源視圖列表。
  3. 重新處理滿。

正如其他人所提到的,帶尾隨空格的數據也可能是原因。 檢查它們: SELECT col FROM tbl WHERE col LIKE '% '

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM