[Gelöst] Ungültiger Objektname '$ndo$usrproperty'

6. Dezember 2007 15:31

Hallo zusammen!

Heute benötige ich mal wieder eure Hilfe, da ich keinen blassen Schimmer habe, wie ich mein Problem lösen könnte.

Die Situation:
Ich habe eine vollständige Kopie der Tabelle "Service Invoice Line".
Die Kopie wurde um die FlowFields, Funktionen, Globals, Textkonstanten und den C/AL-Code beschnitten, so dass nur noch "normale" Felder enthalten sind.
Die Tabelle hat das Property LinkedObject=Yes

Der Vorgang:
Da noch weitere LinkedObject-Tabellen dieser Art bestehen und alle das Property DataPerCompany=No besitzen, wollte ich es natürlich bei dieser LinkedObject-Tabelle auch setzen.

Das Ergebnis:
Jeder Versuch, irgendeine Änderung an dieser Tabelle vorzunehmen (inklusive Löschen), wird mit der folgenden Fehlermeldung abgebrochen:
Microsoft Business Solutions-Navision hat geschrieben:Der folgende SQL Server Fehler ist aufgetreten:

208,"42S02",[Microsoft][ODBC SQL Server Driver][SQL Server]Ungültiger Objektname '$ndo$usrproperty'.
16945,"42000",[Microsoft][ODBC SQL Server Driver][SQL Server]Der Cursor wurde nicht deklariert.

SQL:
SELECT [sid] FROM [$ndo$usrproperty]


Mein Problem:
Ich möchte die Tabelle auch weiterhin bearbeiten können und nicht ständig diese Fehlermeldung vorgehalten bekommen :lol:
(Klingt logisch, oder?)

Zusätzliche Informationen:
Der View ist auf dem SQL-Server angelegt (und sammelt alle Datensätze aus allen Mandanten der Datenbank).
Ich kann meine LinkedObject-Tabelle starten, jedoch zeigt sie mir keinen einzigen Datensatz an, obwohl definitiv Daten in den Originaltabellen enthalten sind (und davon nicht gerade wenige).

Datenbank: DE 4.0 SP1 auf SQL-Server
Runtime: 4.0 SP3 (inkl. Update 5)

Ich hoffe, jemand von euch kann mir bei diesem Problem helfen.
Zuletzt geändert von Timo Lässer am 6. Dezember 2007 18:11, insgesamt 1-mal geändert.

6. Dezember 2007 17:06

Existiert denn die Tabelle $ndo$usrpropertyin der Datenbank?
Diese wird im Kontext "Benutzerauthentifizierung" verwendet.
Wenn die Tabelle fehlt, dann kannst DU Sie ggf. wie folgt neu erstellen:

Code:
CREATE TABLE [dbo].[$ndo$usrproperty](
   [sid] [varbinary](85) NOT NULL,
   [artoken] [varchar](128) NOT NULL,
PRIMARY KEY CLUSTERED ([sid])
GO
GRANT SELECT, INSERT, UPDATE, DELETE TO [public]
GO

Hilft das was?

6. Dezember 2007 18:11

Die Tabelle war zwar schon da, aber vermutlich passten die Rechte nicht mehr, denn bei der Ausführung kommt die Meldung, dass die Tabelle bereits exisitiert.

Jetzt funktioniert alles wieder.

Besten Dank!

P. S.: Du hast in deinem Code einen Syntax-Fehler. Es fehlt die schließende Klammer nach ... CLUSTERED ([sid]))