2015-06-22 65 views
0

Attn。管理員請添加dreamfactory作爲標籤,我不能(沒有足夠的代表點)。Dreamfactory REST API SQL存儲過程轉換錯誤(不允許從數據類型nvarchar到varbinary的隱式轉換)

因爲我對這件事很陌生,所以和我在一起。我正在使用dreamfactory REST API來調用SQL Server存儲過程。 SQL Server數據庫對存儲過程的一些參數使用用戶定義的數據類型。

這裏是我如何通過Dreamfactory的API文檔區域稱之爲:

{ 
"params": [ 
     { 
     "name": "Number", 
     "param_type": "IN", 
     "value": "123456" 
     }, 
     { 
     "name": "IdNumber", 
     "param_type": "IN", 
     "value": "0x0048F1F5A7DC5A2A431CBAD70270E59C5FA0" 
    } 
], 
"schema": { 
"_field_name_": "" 
    }, 
"wrapper": "", 
"returns": "" 
    } 

的錯誤是:

從數據類型爲nvarchar隱式轉換爲VARBINARY不允許

我認爲問題出在第二個參數IdNumber這是用戶定義的數據類型。如果我刪除參數,我只是得到一個錯誤,IdNumber預計和缺失。

數據類型是用戶定義的類型,我不確定它爲什麼試圖將其轉換爲varbinary。我真的不知道有什麼方法可以轉換或存儲這個值,因爲它使用了REST API。我是否認爲我無法將任何東西作爲存儲過程參數進行轉換或轉換?

我知道這是一個非常具體的問題,但任何幫助表示讚賞。我一直在與這個項目的dreamfactor進行過很多的鬥爭,如果答案是朝另一個方向發展,我願意接受。

回答

1

我相信,它試圖將其轉換爲VARBINARY原因是這樣的:

"value": "0x0048F1F5A7DC5A2A431CBAD70270E59C5FA0" 

我相信價值前導0x被觸發了。通常,以0x開頭的值被視爲十六進制值。

但是,我不熟悉MS SQL Server,但是,如果您不打算允許用戶定義的數據類型爲二進制,也許您可​​以過濾輸入以不允許前導0x。

希望這有助於

0

與Dreamfactory的技術支持工作,這是與Dreamfactory的問題,他們希望能儘快解決後。

相關問題