Crystal сообщает, что не переопределяет поля nvarchar, размеры которых были изменены до nvarchar(max)
У меня есть Crystal Report, который подключен к базе данных SQL Server через поставщика SQLOLEDB.
Некоторые столбцы, на которые есть ссылки в отчете, были изменены в базовой базе данных SQL Server с установленного размера nvarchar до nvarchar(max).
При проверке отчета Crystal Reports 2008 с пакетом обновления 3 (SP3) не видит столбец для его повторного сопоставления, и этот столбец больше не отображается в списке столбцов в таблице, доступной для сопоставления.
Я также протестировал это в Visual Studio 2013 с использованием Crystal Reports 13_0_10, и наблюдается то же поведение.
Единственное решение, которое я вижу, - это указать физическое местоположение в отчете, проверить базу данных (которая удаляет столбец), а затем повторно добавить столбец в отчет в том же месте (что может занять очень много времени).
Есть ли более простой способ выполнить эту задачу? Я ожидал, что более новые версии Crystal смогут справиться с этим.
1 ответ
Добавьте в ConnectionString:
DataTypeCompatibility=80
В SQL Server 2005 добавлен новый
varchar(max)
тип данных, и я думаю, что библиотека ADO, которую использует Crystal, сбита с толку. Добавление
DataTypeCompatiblity=80
приведет к тому, что SQL Server вернет столбцы как «ntext», а не как «nvarchar (max)».