我要問這個,因爲它令我煩惱,我無法找到這個問題的具體來源。我知道如何在Sql Server中使用TVP(表值參數),我在存儲過程中使用它進行批量插入。所以基本上我在SQL創建表類型的表的相應列/字段我要插入記錄和它工作正常,我從代碼(C#),以SQL存儲過程,現在這裏是我的問題:最近,當用戶嘗試插入多條記錄,也有在表中的參數某些隨機域當它試圖執行存儲過程(基本上在C#中,因爲它會拋出一些錯誤),讓這種錯誤的消息。SQL Server Table Valued Parameter列不受支持。該類型是「對象」
列的類型 '{字段}' 不被支持。 'Object'的類型是
在每一次出現的錯誤信息中的字段都會改變,所以我知道問題出在數據中,但我不知道它是什麼。順便說一句,這是我如何從我的源數據傳輸到將用作插入參數數據表:
dr["{field_name}"] = {value}
更新:我想更詳細地說明我如何轉院值的數據表。基本上,我將通過
table.Rows.Cast<DataRow>().ToList().ForEach(action => {statements})
通過在數據表中的所有行嘗試環路,則在foreach裏面,我給你
action["{field_name}"] = action["{field_name}"].{formatting_function}
我需要這個格式化的數據被插入到前數據庫,例如。轉換爲大寫或小寫或轉換爲特定類型,例如。布爾值。
這聽起來像您的{}值之間的鑄造問題和{} FIELD_NAME的類型。 – 2015-07-23 13:22:12
那些特定的隨機場是什麼類型?這聽起來對我來說也是一個鑄造問題。在將它們傳遞給DataRow項目之前,您是否嘗試將值轉換爲對象類型? – Engin 2015-07-29 18:15:10