it-swarm.com.de

Wie erstelle ich eine eindeutige Kennung und füge sie manuell in den SQL Server ein?

Ich versuche, manuell einen neuen Benutzer in meiner Tabelle zu erstellen, aber es ist unmöglich, einen "UniqueIdentifier" -Typ zu generieren, ohne eine Ausnahme auszulösen ...

Hier ist mein Beispiel:

DECLARE @id uniqueidentifier
SET @id = NEWID()

INSERT INTO [dbo].[aspnet_Users]
           ([ApplicationId]
           ,[UserId]
           ,[UserName]
           ,[LoweredUserName]
           ,[LastName]
           ,[FirstName]
           ,[IsAnonymous]
           ,[LastActivityDate]
           ,[Culture])
     VALUES
           ('ARMS'
           ,@id
           ,'Admin'
           ,'admin'
           ,'lastname'
           ,'firstname'
           ,0
           ,'2013-01-01 00:00:00'
           ,'en')
GO

Trow-Ausnahme -> Meldung 8169, Ebene 16, Status 2, Zeile 4 Fehler beim Konvertieren einer Zeichenfolge in eine eindeutige Kennung.

Ich verwende die NEWID () -Methode, aber es funktioniert nicht ...

http://www.dailycoding.com/Posts/generate_new_guid_uniqueidentifier_in_sql_server.aspx

23
Mehdi Bugnard

ApplicationId muss vom Typ UniqueIdentifier sein. Ihr Code funktioniert einwandfrei, wenn Sie:

DECLARE @TTEST TABLE
(
  TEST UNIQUEIDENTIFIER
)

DECLARE @UNIQUEX UNIQUEIDENTIFIER
SET @UNIQUEX = NEWID();

INSERT INTO @TTEST
(TEST)
VALUES
(@UNIQUEX);

SELECT * FROM @TTEST

Daher würde ich sagen, es ist sicher anzunehmen, dass ApplicationId nicht der richtige Datentyp ist.

33
Darren

Bitte überprüfen Sie den ApplicationId-Datentyp der Spalte in der Tabelle aspnet_Users. Der ApplicationId-Spaltendatentyp sollte eine eindeutige Kennung haben.

* Ihre Parameterreihenfolge wird falsch übergeben, Parameter @id sollte als erstes Argument übergeben werden, aber in Ihrem Skript wird es im zweiten Argument platziert. . *

Also wird ein Fehler ausgelöst ..

Bitte Beispielskript beachten:

DECLARE @id uniqueidentifier
SET @id = NEWID()
Create Table #temp1(AppId uniqueidentifier)

insert into #temp1 values(@id)

Select * from #temp1

Drop Table #temp1
4
bgs