Export schlägt fehl bei französischem Text in Report Description

Hallo,
Ich nutze aktuell den Report Server in der Version 25. Sollte der hier beschriebene Bug in der aktuellen Version schon behoben sein dann kann das hier einfach ignoriert werden - ansonsten bitte einfach mal prüfen.
Ich benutze das “Description” Feld im ReportServer um weitere Eigenschaften des Reports zu speichern (Titel, Klasse, Typ…). Dafür habe ich mir eine Json Struktur ausgedacht, die ich ein dieses Feld packe. Denke nicht, dass das mit dem Fehler zu tun hat und ich erwähne es nur der Vollständigkeit halber - Funktioniert auch alles super. Wenn nun aber der Text in dem Feld französisch ist und ein ’ enthält schlägt der Export fehl - und damit meine ich den Export des Templates in eine Datei die ich in einer anderen Instanz des Report Servers importieren kann.
Beispiel: Ce rapport vous donnera un compte rendu détaillé de vos dépenses postales au cours d’une période donnée.
Fehler:
Type
SQLiteException

Message
SQL logic error or missing database near “une”: syntax error

Detail
System.Data.SQLite.SQLiteException (0x80004005): SQL logic error or missing database
near “une”: syntax error
at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader…ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(CommandBehavior behavior)
at combit.ReportServer.Util.ExportUtil.AddTableContent(String tableName, DataSet data)
at combit.ReportServer.WebUI.Controllers.SettingsController.ExportTableWithFolders(ExportUtil exportUtil, String mainTableName, String mainTableIdColumn, List1 mainTableIdList, String folderTableName) at combit.ReportServer.WebUI.Controllers.SettingsController.ExportTemplate(ExportUtil exportUtil, List1 templates)
at combit.ReportServer.WebUI.Controllers.SettingsController.Export(ExportModel model, List1 selectedTemplates) at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_0.b__0()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.b__2()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.b__2()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.b__2()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.b__2()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.b__2()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.b__4()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.b__1(IAsyncResult asyncResult)

Der Workarround ist für mich recht leicht, ich muss die Description ändern, exportieren, importieren und die Description wieder zurück ändern - ist zwar lästig aber machbar. Hoffe das hilft euch trotzdem.
mfg
Kai

Das Ganze passiert auch wenn man ein ’ im Report Namen vergibt.

Guten Morgen Herr Nicolai,

vielen Dank für den Hinweis. Ich habe eben mal versucht das Szenario nachzustellen - sowohl im Report Server 26 wie auch im aktuellen Report Server 27 und konnte leider die von Ihnen geschilderte Exception nicht nachstellen. Dabei habe ich einmal die folgende Berichtsvorlage konfiguriert:

Und im Anschluss wurde diese Vorlage über Verwaltung > Importieren / Exportieren > Exportieren > Ausgewählte Berichtsvorlagen mit deren Datenquellen, Berichtselementen und Ordnerstrukturen exportiert, was ohne Probleme funktionierte. Auch der Import in eine andere Report Server Instanz konnte erfolgreich durchgeführt werden.

  • Haben Sie vielleicht noch eine abweichende Einstellung im Einsatz?
  • Könnten Sie einmal versuchen im aktuellen Report Server 27 das nachzustellen? Sie können das auch schnell über unsere Online Demo unter Report Server kostenlos testen versuchen - ohne eine eigene Installation

© combit GmbH