首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nvarchar(max)列上的SqlBindParameter无效精度值

nvarchar(max)列上的SqlBindParameter无效精度值
EN

Stack Overflow用户
提问于 2013-02-21 16:45:16
回答 1查看 7.1K关注 0票数 1

我有一个表,其列([To])被定义为nvarchar(max)。根据http://msdn.microsoft.com/en-gb/library/ms186939.aspxnvarchar(max)列的最大长度为2^32。

我正在尝试将一个字符串>4000个字符(我猜成功的门槛是4000,但我还没有实际证明)绑定到本专栏,它在HY104:1:0中失败了。

SQLBindParameter:HY104:1:0:MicrosoftInvalid无效精度值

我试图绑定的字符串的示例长度是21707。

我尝试使用以下ODBC驱动程序运行,结果对所有这些驱动程序都是一样的:

代码语言:javascript
复制
{SQL Server}
{SQL Server Native Client 10.0}
{SQL Server Native Client 11.0}

我现在打的电话是:-

代码语言:javascript
复制
Q->ret = SQLBindParameter(Q->stmt, i, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_WVARCHAR, 
    (SQLINTEGER) (len ? len : 1), 0, data, (SQLINTEGER) len, 0);

地点:-

代码语言:javascript
复制
len = 21707
data = unicode string of length 21708 characters (43414 bytes) followed by (WORD)0

Server详细信息:

代码语言:javascript
复制
Microsoft SQL Server Express Edition with Advanced Services (64-bit)
10.50.2550.0
Windows 7 64 bit

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-21 17:22:26

答案是,在绑定长字符串时,我需要使用SQL_WLONGVARCHAR而不是SQL_WVARCHAR。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15007721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档