我有一个表格,其中一列([To]
)定义为nvarchar(max)
。根据http://msdn.microsoft.com/en-gb/library/ms186939.aspx,nvarchar(max)
列的最大长度为2^32。SqlBindParameter nvarchar(max)列上的无效精度值
我试图绑定一个字符串> 4000个字符(我猜的成功是4000的门槛,但我并没有实际证明)此列及其与HY104失败:1:0
的SQLBindParameter:HY104:1:0:[微软] [SQL Server本机客户端11.0]无效的精度值
字符串我想结合的一个例子长度为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)0
SQL Server详细信息:
Microsoft SQL Server Express Edition with Advanced Services (64-bit)
10.50.2550.0
Windows 7 64 bit
我在做什么错?
“nvarchar(max)”的最大长度是20亿字节 - 或10亿个字符(因为每个字节总是2个字节) – 2013-02-21 16:47:45