2017-10-12 4 views
0

Gerade entdeckt, was ich denke, ist ein Bug in CRM und hoffe, dass jemand für mich klären kann.Generic SQL Error - Betreff des Termins

In unserer Lösung (CRM 2016 8.1.0.359) haben wir die Länge des Felds Betreff auf Termin auf 450 Zeichen erhöht. Einer unserer Tester berichtete, dass sie beim Speichern eines neuen Termins mit einer langen Zeichenfolge in der Betreffzeile einen generischen SQL-Fehler erhielt.

Bei näherer Betrachtung habe ich festgestellt, dass, wenn Sie eine Zeichenfolge mit mehr als 200 Zeichen eingeben (die Länge des Betreffs in der Activity-Entität) ist, wenn der Fehler auftritt. Es scheint, dass CRM oder besser die SQL-Datenbank die erhöhte Spaltengröße ignoriert, die auf Termin definiert ist, und stattdessen die Spaltenlänge verwendet, die von der übergeordneten Activity-Entität stammt.

Nur um zu verdeutlichen, ich habe versucht, dies auf einer CRM 2013-Umgebung zu replizieren, und es funktioniert wie erwartet dort. Es scheint einfach nicht in unserer aktuellen Version von CRM zu funktionieren. War das ein Fehler, der 2016 eingeführt wurde? Wurde es seither in einem Rollup gelöst? Hat es jemand schon einmal erlebt?

Antwort

2

Ich habe dies gerade mit einer lokalen Instanz von 8.1.0.359 getestet und habe keinen Fehler erhalten.

Ich habe zuerst bestätigt, dass ich nicht mehr als 200 Zeichen in das Feld Betreff eingeben konnte. Dann habe ich das Feld Betreff des Termins auf 400 Zeichen erhöht und Änderungen veröffentlicht. Dann habe ich eine 300 Zeichen lange Zeichenfolge eingegeben und den Datensatz gespeichert, der ohne Fehler gespeichert wurde. Ich habe eine SQL-Abfrage durchgeführt, um zu bestätigen, dass sie korrekt in der Datenbank gespeichert wurde.

Wenn Sie lokal sind, sehen Sie sich die Datenbank der Organisation in SQL an. Im Feld ActivityPointerBase.Subject wird dieser Wert gespeichert. Vor dem Ändern der Feldgröße für den Terminbetreff war dieses Feld nvarchar(200). Nachdem ich die Änderung vorgenommen hatte, aktualisierte ich die SQL Management Studio-Ansicht und das Feld war nvarchar(400).

Mein erster Vorschlag ist, die Größe auf eine kleinere Länge zu ändern und zu veröffentlichen. Dann ändere es zurück zu 400 und veröffentliche es (die Veröffentlichung sollte nicht notwendig sein, aber ich habe gesehen, dass es seltsame Dinge früher auflöst.) Es ist möglich, dass die Änderung aus irgendeinem Grund gespeichert wurde, aber der vollständige Prozess nicht ausgeführt wurde.

Wenn das es nicht lösen empfehle ich an den ausführlichen Trace-Protokolle suchen, um zu sehen, was geschieht (wenn man auf dem Gelände sind) oder ein Support-Ticket öffnen (wenn Sie online sind.)

+1

Stellt sich heraus, es ist ein bekanntes Problem mit unserer Lösung. Ich schreibe dies als Antwort, weil ich es schätze, dass Sie selbst einen Test durchgeführt haben und bestätigen, dass es kein CRM-Bug ist! –