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)».

Другие вопросы по тегам