在最近的运行时引擎和SQL Server版本更新(2008R2到2012)中,我已经开始遇到一个问题,即通过ODBC进行的大量查询会返回空白字段,而不应该存在任何空白字段。直接在SQL Server中运行的相同查询工作正常。
我开始从查询中删除字段,发现查询中的五个TEXT数据类型字段给我带来了麻烦。 SELECT语句中列出的第一个TEXT字段显示正常,后续TEXT字段不会显示。如果我从查询中删除了除了两个字段之外的所有字段,剩下的两个字段将会通过。
由于问题显然出现在ODBC中,我首先想到的是将我的Windows 8 odbc驱动程序从“SQL Server Native Client 11.0”切换到“SQL Server”。这没有用。
由于TEXT正在摆脱支持,我认为这可能是罪魁祸首。我将所有TEXT字段转换为NVARCHAR(MAX)(我也在寻找unicode支持)。这没有解决任何问题。接下来,我尝试将页外数据类型转换为页内格式NVARCHAR(4000)。这解决了这个问题,但它不能全面运行,因为我有一些超过4000个字符的字段。
我的问题: