SQL Server 2008 "IDENTITY_INSERT AUF on festgelegt ist" Fehler bei Einfügen von
Habe ich Locale_Code
Tabelle in zwei verschiedenen Datenbanken CP
und PP
hier ist das script einfügen meiner Tabelle
CREATE TABLE [dbo].[LOCALE_CODE](
[id] [bigint] IDENTITY(1,1) NOT NULL,
[active] [bit] NOT NULL,
[code] [nvarchar](4000) NULL,
[created_at] [datetime] NULL,
[created_by] [nvarchar](4000) NULL,
[display_name] [nvarchar](4000) NULL,
[updated_at] [datetime] NULL,
[updated_by] [nvarchar](4000) NULL,
[read_permission] [nvarchar](4000) NULL,
PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
Versuche, fügen Sie alle Zeilen aus PP.dbo.LOCALE_CODE CP.dbo.LOCALE_CODE wie unten
SET IDENTITY_INSERT CP.dbo.LOCALE_CODE ON
insert into CP.[dbo].[LOCALE_CODE] select * from PP.dbo.LOCALE_CODE
Aber bin immer folgende Fehlermeldung
Ein expliziter Wert für die Identitätsspalte in Tabelle 'CP.dbo.LOCALE_CODE " kann nur angegeben werden, wenn eine Spaltenliste verwendet wird und IDENTITY_INSERT AUF on festgelegt ist.
Ich sogar versucht, bulk-insert, wie unter
BULK INSERT CP.[dbo].[LOCALE_CODE] from 'C:\locales.csv'
with (fieldterminator = ',', rowterminator = '\n' )
go
Aber bin immer folgende Fehlermeldung
Expliziter Wert angegeben werden muss für die Identitätsspalte in Tabelle 'LOCALE_CODE' entweder, wenn IDENTITY_INSERT AUF on festgelegt ist oder wenn ein Replikations-Benutzer ist das einfügen in eine not FOR REPLICATION-Identitätsspalte.
Kann mir bitte jemand helfen, fix welken BULK insert oder direktes einfügen von PP.Locale_Code zu PP.Locale_Code?
InformationsquelleAutor RanPaul | 2014-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie explizit die Spaltennamen in der Zieltabelle während des Einsetzens .
Ersetzen Col1,Col2 usw. mit Spalte Liste der
CP.[dbo].[LOCALE_CODE]
TabelleKönnen Sie * WÄHLEN Sie in der Quell-Tabelle
PP.dbo.LOCALE_CODE
InformationsquelleAutor Mudassir Hasan
Grundsätzlich gibt es 2 verschiedene Möglichkeiten zum EINFÜGEN von Datensätzen, die zimmerreserviereung, ohne das ein Fehler:
1), Wenn IDENTITY_INSERT auf OFF festgelegt ist. Der Primärschlüssel "ID" MUSS NICHT VORHANDEN SEIN,
2), Wenn IDENTITY_INSERT AUF on festgelegt ist. Der Primärschlüssel "ID" VORHANDEN SEIN MÜSSEN,
Als pro das folgende Beispiel aus der gleichen Tabelle angelegt, die mit einer IDENTITY PRIMARY KEY:
1) In dem ersten Beispiel, können Sie neue Datensätze in die Tabelle bekommen, ohne einen Fehler, wenn IDENTITY_INSERT auf OFF festgelegt ist. Der Primärschlüssel "ID" MUSS NICHT VORHANDEN SEIN, aus dem "INSERT INTO" - Anweisungen und einen eindeutigen ID-Wert werden automatisch Hinzugefügt:. Wenn die ID vorhanden ist, von der INSERT-in diesem Fall erhalten Sie die Fehlermeldung "einfügen Nicht expliziten Wert für identifizieren Spalte in der Tabelle..."
AUSGABE der TABELLE [dbo].[Personen] werden:
2) Im Zweiten Beispiel, können Sie neue Datensätze in die Tabelle bekommen, ohne einen Fehler, wenn IDENTITY_INSERT AUF on festgelegt ist. Der Primärschlüssel "ID" VORHANDEN SEIN MÜSSEN, aus dem "INSERT INTO" - Anweisungen , solange Sie den ID-Wert nicht bereits vorhanden ist: Wenn die ID NICHT vorhanden, von der INSERT-in diesem Fall erhalten Sie die Fehlermeldung "Expliziter Wert muss angegeben werden, für die identity-Spalte der Tabelle..."
AUSGABE der TABELLE [dbo].[Personen] werden:
InformationsquelleAutor QA Specialist