我有一个水晶报告,它通过SQLOLEDB提供程序连接到Server数据库。
报表中引用的某些列已在基础Server数据库中从设置的nvarchar大小调整为nvarchar(max)。
在验证该报告时,Crystal Reports 2008 SP3无法看到要重新映射它的列,而且该列不再出现在表中可供映射的列列表中。
我还在Visual 2013中使用Crystal Reports 13__10对此进行了测试,并观察到了相同的行为。
我看到的唯一解决方案是注意报表上的物理位置,验证数据库(移除该列),然后将该列重新添加到同一位置的报表中(这将证明非常耗时)。
有更简单的方法来完成这个任务吗?我希望新版本的水晶能够处理这个问题。
发布于 2022-03-19 02:53:19
添加到您的ConnectionString
DataTypeCompatibility=80
Server 2005添加了新的varchar(max)数据类型,我认为ADO库水晶正在使用的是混淆。添加DataTypeCompatiblity=80将导致Server以"ntext“而不是"nvarchar(max)”的形式返回列。
https://stackoverflow.com/questions/29590306
复制相似问题