hoerni
Goto Top

Datensatz kann nicht gelöscht werden BCM Business Contactmanager

Datensatz kann nicht gelöscht werden.

Hi

Seit ein paar Tagen haben wir den Business Contact Manager 2010 im Einsatz. Wir sind auch sehr zufrieden damit.
Nun bin ich gerade auf ein Problem gestossen.
Ich wollte gerade einen Datensatz löschen und bekomme dann die Fehlermeldung:

fehler beim konvertieren des int-Datentyps in smallint.
Der Datensatz bleibt bestehen und wird nicht gelöscht. Andere Datensätze konnten aber Problemlos gelsöcht werden.


Google spuckt leider nichts darüber raus.

Hat eventl. schon mal jeder dieses Problem gehabt ?

bin dankbar über jede Hilfe.

Content-ID: 162249

Url: https://administrator.de/contentid/162249

Ausgedruckt am: 26.11.2024 um 15:11 Uhr

goscho
goscho 08.03.2011 um 17:30:43 Uhr
Goto Top
Hi hoerni,

was für einen Datensatz (Firma, Verkaufschance, etc) möchtest du denn löschen?
hoerni
hoerni 09.03.2011 um 08:17:59 Uhr
Goto Top
Einen Geschäftskontakt der einer Firma zugeordnet ist.

Wie sich herausgestellt hat kann ich auch keine Firmen löschen. bzw. nur manche bei den
anderen kommt dann die Fehlermeldung mit dem Kenvertieren von int in smallint.


Es besteht ja die Möglichkeit im BCM die Datenbank zu defragmentieren und zu rep.
Leider ist diese Funktion bei mir ausgegraut. Kann das daran liegen, das man diese
Funktion nur hat wenn man lokal am Datenbankserver angemeldet ist ?
Da die Datenbank auf einem Server 2003 installiert ist, möchte ich ungerne Outlook
darauf installieren.
hoerni
hoerni 11.03.2011 um 07:56:55 Uhr
Goto Top
Problem wurde gelöst.

Nach nochmaligen Recherchen im Internet. Wurde ich endlich fündig.


http://social.msdn.microsoft.com/Forums/br/sqlreplication/thread/05b4e6 ...


The problem is when more than 32,767 (the number that a smallint can handle at max) business contacts are in the database and you want to delete one of the contacts beyond the 32,767 mark.

When deleting a business contact dbo.DeleteContactoid gets called which itself calls dbo.UpdatePhoneLogs. dbo.UpdatePhoneLogs accepts @contactserviceid and @grandparentcontactserviceid as smallints. Change both parameters to int and you're set.

I have only 1 thing to add to the above solution. The dbo.UpdatePhoneLogs is a stored procedure.

For those that do not know how to make this change, the easiest way is to use SQL Managment Studio and expand your {database name}-Programmability-Stored Procedures.

Right click on dbo.UpdatePhoneLogs and choose Modify

Change @contactserviceid and @grandparentcontactserviceid to int

Parse and Execute.

That's it. If you are unsre the change took reopen the modify window.


Nach mehreren Importieren kam ich locker über die 32767 Marke und damit konnten die Datensätze über diesem Wert nicht mehr gelöscht werden.