テーブルに新しいユーザーを手動で作成しようとしていますが、例外をスローせずに「UniqueIdentifier」タイプを生成することはできません...
これが私の例です:
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
例外をスロー->メッセージ8169、レベル16、状態2、行4文字列をuniqueidentifierに変換できませんでした。
NEWID()メソッドを使用しますが、機能しません...
http://www.dailycoding.com/Posts/generate_new_guid_uniqueidentifier_in_sql_server.aspx
ApplicationIdはUniqueIdentifier
タイプでなければなりません。次の場合、コードは正常に機能します。
DECLARE @TTEST TABLE
(
TEST UNIQUEIDENTIFIER
)
DECLARE @UNIQUEX UNIQUEIDENTIFIER
SET @UNIQUEX = NEWID();
INSERT INTO @TTEST
(TEST)
VALUES
(@UNIQUEX);
SELECT * FROM @TTEST
したがって、ApplicationId
が正しいデータ型ではないと想定しても安全だと思います。
テーブルaspnet_UsersのApplicationId列のデータ型を確認してください。ApplicationId列のデータ型はuniqueidentifierである必要があります。
* パラメーターの順序が誤って渡された場合、パラメーター@idは最初の引数として渡される必要がありますが、スクリプトでは2番目の引数に配置されます。。*
したがって、エラーが発生します。
サンプルスクリプトを参照してください。
DECLARE @id uniqueidentifier
SET @id = NEWID()
Create Table #temp1(AppId uniqueidentifier)
insert into #temp1 values(@id)
Select * from #temp1
Drop Table #temp1