AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Fehler beim Überprüfen des Standards für die Spalte 'rowguid'
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler beim Überprüfen des Standards für die Spalte 'rowguid'

Ein Thema von norwegen60 · begonnen am 16. Jan 2012 · letzter Beitrag vom 24. Mär 2015
Antwort Antwort
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#1

Fehler beim Überprüfen des Standards für die Spalte 'rowguid'

  Alt 16. Jan 2012, 22:50
Datenbank: MsSQL • Version: 2008 R2 • Zugriff über: UniDac
Hallo zusammen,

ich habe eine DB die ich seit einiger Zeit per Merge-Replikation replizieren. Beim Erstellen (noch mit SQL 2005) wurde in allen Tabellen automatisch die Spalte RowGuid mit dem Standardwert (newsequentialid()) eingefügt. Wenn ich jetzt in solch einer Tabelle per Management-Studio etwas ändere kommt beim Speichern die Meldung
Zitat:
Fehler beim Überprüfen des Standards für die Spalte 'rowguid'
Wenn ich den Standardwert auf newid() ändere, kommt die Meldung nicht mehr.

Es kann doch nicht sein, dass die von MsSQL selbst angelegt Definition falsch ist. Was also tun. Alles auf NewID ändern oder lassen

Viele Grüße
Gerd
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: Fehler beim Überprüfen des Standards für die Spalte 'rowguid'

  Alt 17. Jan 2012, 12:05
Hat die Datenbank evtl. noch einen älteren Kompatibilitätsgrad (compatibility level) als der Server?
Andreas
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#3

AW: Fehler beim Überprüfen des Standards für die Spalte 'rowguid'

  Alt 17. Jan 2012, 14:10
Hallo Andreas,

der Kompatibilitatsgrad der DB ist Server 2005 der MsSQL-Server selber ist 2008 R2. Ich hab die DB mal testweise auf SQL 2008 gesetzt. Die Meldung bleibt aber dieselbe.

Grüße
Gerd

Geändert von norwegen60 (17. Jan 2012 um 14:16 Uhr)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

AW: Fehler beim Überprüfen des Standards für die Spalte 'rowguid'

  Alt 17. Jan 2012, 16:33
Lass Dir das "CREATE TABLE" Statement vom Management Studio erzeugen und ändere dann den Tabellennamen ab.
Wenn du das Script ausführst solltest du eine weitere Tabelle mit genau der gleichen Struktur bekommen.
Hat diese Tabelle das gleiche Problem?
Wenn du das Script hier einstellst könnte man es auch auf einem anderen SQL Server ausführen und ebenfalls testen.
Andreas
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Fehler beim Überprüfen des Standards für die Spalte 'rowguid'

  Alt 17. Jan 2012, 17:00
Vorweg: Ich hab keine Ahnung von MSSQL.

Ich glaube aber, dass es ein Datenproblem ist.

Wenn es mit newid funktioniert und die Fehlermeldung für newsquentialid "Fehler bei Überprüfen des Standards" lautet schließt man doch:
Es gibt einen Constraint Unterschied der beiden Funktionen. Sequential werte ich dabei mal als fortfolgend/aufsteigend. Bei NewID fehlt dieser Constraint.

Du hast also vermutlich ID in der Spalte, die nicht mehr gegen "aufsteigend" validiert werden können. Lässt Du diesen Constraint weg und nimmst nur newid geht es ja dann auch.

Also einfach so lassen oder Daten aufräumen.
Prüfen ließe sich meine Annahme mit einer Auswertung der ID Sequence.
Gruß, Jo
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#6

AW: Fehler beim Überprüfen des Standards für die Spalte 'rowguid'

  Alt 24. Mär 2015, 22:00
Hallo,

ich habe das Thema etwas aus den Augen verloren da es eigentlich nur eine Unschönheit ist und wollte es jetzt wieder aufgreifen.
Ich habe mal eine neue Tabelle mit folgendem Sript erstellt
Code:
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Test](
   [ID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
   [VorNr] [nvarchar](2) NULL,
   [Benennung] [nvarchar](40) NULL,
   [ServOrt] [nchar](1) NULL,
   [ErstUserID] [int] NULL,
   [ErstDat] [datetime] NULL,
   [LastUserID] [int] NULL,
   [LastDat] [datetime] NULL,
   [rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL,
 CONSTRAINT [PK__Test] PRIMARY KEY CLUSTERED
(
   [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Test] ADD CONSTRAINT [DF_Test_rowguid] DEFAULT (newsequentialid()) FOR [rowguid]
GO
Danach im MsSQL Management Studio mit "Oberste 200 Zeilen bearbeiten" einen Datensatz eingefügt
Danach über "Entwerfen" das Feld Test nvarchar(10) ans Ende der Tabelle gehängt
Beim Schließen kommt wieder die Meldung
Zitat:
Tabelle 'Test'
- Fehler beim Überprüfen des Standards für die Spalte 'rowguid'.
Grüße
Gerd
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz