nvarchar(max)列仅通过ODBC在SELECT语句中相互干扰
在最近更新的运行时引擎和SQL Server版本(2008R2至2012)中,我开始遇到一个问题,即通过ODBC进行的较大查询返回空白字段,而这些字段不应该有任何字段。直接在SQL Server中运行相同的查询效果良好 我开始从查询中删除字段,发现查询中的五个文本数据类型字段给我带来了麻烦。SELECT语句中列出的第一个文本字段将显示良好,后续文本字段将不会显示。如果我从查询中删除了除两个字段以外的所有字段,那么剩下的两个字段将通过 由于问题显然发生在ODBC中,我的第一个想法是将windows 8 ODBC驱动程序从“SQL Server原生客户端11.0”切换到“SQL Server”。这没有帮助 由于文本正在失去支持,我认为它可能是罪魁祸首。我将所有文本字段转换为NVARCHAR(MAX)(我也在寻找unicode支持)。这并没有解决任何问题。接下来,我尝试将页外数据类型转换为页内格式的NVARCHAR(4000)。这解决了问题,但它不能全面工作,因为我有一些字段超过4000个字符 我的问题是:nvarchar(max)列仅通过ODBC在SELECT语句中相互干扰,select,odbc,max,sqldatatypes,nvarchar,Select,Odbc,Max,Sqldatatypes,Nvarchar,在最近更新的运行时引擎和SQL Server版本(2008R2至2012)中,我开始遇到一个问题,即通过ODBC进行的较大查询返回空白字段,而这些字段不应该有任何字段。直接在SQL Server中运行相同的查询效果良好 我开始从查询中删除字段,发现查询中的五个文本数据类型字段给我带来了麻烦。SELECT语句中列出的第一个文本字段将显示良好,后续文本字段将不会显示。如果我从查询中删除了除两个字段以外的所有字段,那么剩下的两个字段将通过 由于问题显然发生在ODBC中,我的第一个想法是将windows
该表有33列,其中5列最初为文本。这个问题似乎并不取决于文本字段中有多少数据,因为对于空白字段也会发生同样的情况。我刚刚发现了大约15000个字符的字段,确认我不能只使用nvarchar(4000)来处理所有内容。