2015-06-22 61 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的问题,他们希望能尽快解决后。

相关问题