Sql server 2008 FreeTDS转换SQL BigInt的问题
我在Unix上有一个查询MSSQL数据库的程序。DB将功能公开为一个存储过程,并带有一个BigINT输出参数 在客户端,我们有一个C++程序调用这个进程,并试图从输出参数中获取BigIt。 我们看到的是数据正在被破坏。换句话说,BigInt的垃圾值是从驱动程序返回的 更多信息: 客户: Ubuntu 11.10和freetds 0.64 TDS版本:0.8 与FRIEDS 0.64 链接的自定义C++程序 服务器: MSSQL 2008 返回BigInt作为输出参数的存储过程 注: 我们尝试更改存储过程以将BigInt作为第一个结果集返回。如果我们尝试将其作为BigInt读取,则会得到垃圾值。然而,如果我们试着把它当作一个字符串来读,它会被正确地理解 我为驱动程序启用了freetds日志记录,我看到驱动程序认为该值是数字,而不是BigInt 令牌.c:526:处理结果令牌。标记为ac(参数) 令牌c:1526:处理结果。类型=108(数字),变量大小1 令牌c:1547:处理结果。第17栏 token.c:1863:tds_get_数据:列0,类型108,变量大小1 但是,SQL server SP定义将输出参数正确定义为BigIntSql server 2008 FreeTDS转换SQL BigInt的问题,sql-server-2008,biginteger,freetds,bigint,Sql Server 2008,Biginteger,Freetds,Bigint,我在Unix上有一个查询MSSQL数据库的程序。DB将功能公开为一个存储过程,并带有一个BigINT输出参数 在客户端,我们有一个C++程序调用这个进程,并试图从输出参数中获取BigIt。 我们看到的是数据正在被破坏。换句话说,BigInt的垃圾值是从驱动程序返回的 更多信息: 客户: Ubuntu 11.10和freetds 0.64 TDS版本:0.8 与FRIEDS 0.64 链接的自定义C++程序 服务器: MSSQL 2008 返回BigInt作为输出参数的存储过程 注: 我们尝试更改
ALTER PROCEDURE [dbo].[SomeSproc] (
@pParam1 bigint,
@pReturnCnt int = 5000, -- how many records to return
@pOutParam1 bigint = NULL OUTPUT
) AS
知道为什么会这样吗