我有一个表,其列([To])被定义为nvarchar(max)。根据http://msdn.microsoft.com/en-gb/library/ms186939.aspx,nvarchar(max)列的最大长度为2^32。
我正在尝试将一个字符串>4000个字符(我猜成功的门槛是4000,但我还没有实际证明)绑定到本专栏,它在HY104:1:0中失败了。
SQLBindParameter:HY104:1:0:MicrosoftInvalid无效精度值
我试图绑定的字符串的示例长度是21707。
我尝试使用以下ODBC驱动程序运行,结果对所有这些驱动程序都是一样的:
{SQL Server}
{SQL Server Native Client 10.0}
{SQL Server Native Client 11.0}我现在打的电话是:-
Q->ret = SQLBindParameter(Q->stmt, i, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_WVARCHAR,
(SQLINTEGER) (len ? len : 1), 0, data, (SQLINTEGER) len, 0);地点:-
len = 21707
data = unicode string of length 21708 characters (43414 bytes) followed by (WORD)0Server详细信息:
Microsoft SQL Server Express Edition with Advanced Services (64-bit)
10.50.2550.0
Windows 7 64 bit我做错了什么?
发布于 2013-02-21 17:22:26
答案是,在绑定长字符串时,我需要使用SQL_WLONGVARCHAR而不是SQL_WVARCHAR。
https://stackoverflow.com/questions/15007721
复制相似问题