如何創建ELMAH SQL Server數據庫?我通過NuGet將它添加到我的ASP.NET MVC項目中,並且沒有我的機器上的sql腳本。如何創建ELMAH SQL Server數據庫?
回答
DDL腳本鏈接從Elmah downloads page。無需拖動源樹。
(爲什麼它沒有用的NuGet捆綁逃脫我)
我發現在源代碼控制腳本:在數據庫上的腳本使用的是創建ELMAH數據庫結構https://code.google.com/p/elmah/source/browse/src/Elmah.SqlServer/SQLServer.sql
運行。
您能否修復該鏈接並添加摘要?只有鏈接的答案沒有多大價值。 –
文件不再存在!最新的網址是https://bitbucket.org/project-elmah/main/downloads/ELMAH-1.2-db-SQLServer.sql – Wiil
有關代碼第一遷移方案,我發現this文章非常有幫助。
首先運行'包管理器控制檯'中的Add-Migration AddElmah
命令。這將在Migration文件夾下創建一個文件。該文件將包含AddElmah
類和函數Up()
和Down()
。下面的代碼替換這兩個功能:當你將在「包管理器控制檯」執行Update-Database
命令
public override void Up()
{
Sql(@"CREATE TABLE [dbo].[ELMAH_Error]
(
[ErrorId] UNIQUEIDENTIFIER NOT NULL,
[Application] NVARCHAR(60) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Host] NVARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Type] NVARCHAR(100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Source] NVARCHAR(60) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Message] NVARCHAR(500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[User] NVARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[StatusCode] INT NOT NULL,
[TimeUtc] DATETIME NOT NULL,
[Sequence] INT IDENTITY(1, 1) NOT NULL,
[AllXml] NTEXT COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
) ");
Sql("EXEC('ALTER TABLE [dbo].[ELMAH_Error] WITH NOCHECK ADD CONSTRAINT[PK_ELMAH_Error] PRIMARY KEY([ErrorId])')");
Sql("EXEC('ALTER TABLE [dbo].[ELMAH_Error] ADD CONSTRAINT[DF_ELMAH_Error_ErrorId] DEFAULT(NEWID()) FOR[ErrorId]')");
Sql(@"EXEC('CREATE NONCLUSTERED INDEX [IX_ELMAH_Error_App_Time_Seq] ON [dbo].[ELMAH_Error]
(
[Application] ASC,
[TimeUtc] DESC,
[Sequence] DESC
)')");
Sql(@"EXEC('CREATE PROCEDURE [dbo].[ELMAH_GetErrorXml] (@Application NVARCHAR(60), @ErrorId UNIQUEIDENTIFIER) AS
SET NOCOUNT ON
SELECT [AllXml] FROM [ELMAH_Error] WHERE [ErrorId] = @ErrorId AND [Application] = @Application')");
Sql(@"EXEC('CREATE PROCEDURE [dbo].[ELMAH_GetErrorsXml]
(@Application NVARCHAR(60), @PageIndex INT = 0, @PageSize INT = 15, @TotalCount INT OUTPUT)
AS
SET NOCOUNT ON
DECLARE @FirstTimeUTC DATETIME
DECLARE @FirstSequence INT
DECLARE @StartRow INT
DECLARE @StartRowIndex INT
SELECT @TotalCount = COUNT(1) FROM [ELMAH_Error] WHERE [Application] = @Application
SET @StartRowIndex = @PageIndex * @PageSize + 1
IF @StartRowIndex <= @TotalCount
BEGIN
SET ROWCOUNT @StartRowIndex
SELECT @FirstTimeUTC = [TimeUtc], @FirstSequence = [Sequence] FROM [ELMAH_Error]
WHERE [Application] = @Application ORDER BY [TimeUtc] DESC, [Sequence] DESC
END
ELSE
BEGIN
SET @PageSize = 0
END
SET ROWCOUNT @PageSize
SELECT
errorId = [ErrorId],
application = [Application],
host = [Host],
type = [Type],
source = [Source],
message = [Message],
[user] = [User],
statusCode = [StatusCode],
time = CONVERT(VARCHAR(50), [TimeUtc], 126) + ''Z''
FROM [ELMAH_Error] error WHERE [Application] = @Application AND [TimeUtc] <= @FirstTimeUTC
AND [Sequence] <= @FirstSequence ORDER BY [TimeUtc] DESC, [Sequence] DESC FOR XML AUTO')");
Sql(@"EXEC('CREATE PROCEDURE [dbo].[ELMAH_LogError] (@ErrorId UNIQUEIDENTIFIER, @Application NVARCHAR(60), @Host NVARCHAR(30),
@Type NVARCHAR(100), @Source NVARCHAR(60), @Message NVARCHAR(500), @User NVARCHAR(50), @AllXml NTEXT, @StatusCode INT,
@TimeUtc DATETIME) AS
SET NOCOUNT ON
INSERT INTO [ELMAH_Error] ([ErrorId], [Application], [Host], [Type], [Source], [Message], [User], [AllXml], [StatusCode], [TimeUtc])
VALUES (@ErrorId, @Application, @Host, @Type, @Source, @Message, @User, @AllXml, @StatusCode, @TimeUtc)')");
}
public override void Down()
{
Sql("EXEC('DROP PROCEDURE [ELMAH_GetErrorXml]')");
Sql("EXEC('DROP PROCEDURE [ELMAH_GetErrorsXml]')");
Sql("EXEC('DROP PROCEDURE [ELMAH_LogError]')");
Sql("Drop table ELMAH_Error");
}
現在,ELMAH_Error
表和相關程序將在數據庫中創建。
- 1. 如何在SQL Server 2014上創建SQL Server 2012數據庫?
- 2. 如何在SQL Server中創建數據庫的數據庫圖
- 3. 如何創建Dart Server數據庫?
- 4. 在SQL Server中創建數據庫
- 5. VWD不能創建SQL Server數據庫
- 6. SQL Server數據庫組創建腳本
- 7. 在SQL Server中創建數據庫
- 8. 在SQL Server 2005中創建數據庫
- 9. SQL Server 2008創建數據庫問題
- 10. 無法創建SQL Server 2008數據庫
- 11. 從vb.net創建SQL Server數據庫,無需SQL Server
- 12. 配置VS2008創建SQL Server數據庫而不是SQL Server Express?
- 13. 使用SQL Server 2008創建SQL Server 2000數據庫
- 14. 如何在SQL Server 2012中創建的SQL Server 2008中附加數據庫
- 15. 如何在SQL Server中從現有數據庫創建新數據庫
- 16. 如何從現有的SQL Server數據庫創建數據庫項目?
- 17. Sql server 2005如何從數據庫的轉儲創建數據庫
- 18. 如何用用戶創建SQL Server數據庫?
- 19. 如何使用dBeaver創建SQL Server數據庫?
- 20. 如何從SQL Server中的數據庫自動創建模型?
- 21. 如何在SQL Server中從遠程數據庫創建表?
- 22. 如何在sql server 2008 R2數據庫中創建臨時表?
- 23. 如何在SQL Server 2008 express中創建數據庫圖表?
- 24. 如何在SQL Server中創建數據庫的別名
- 25. 如何在SQL Server中以編程方式創建數據庫?
- 26. 如何從ASP.NET代碼創建Sql Server數據庫用戶
- 27. 如何使用數據庫備份創建SQL Server複製?
- 28. 如何使用Wix創建SQL Server數據庫
- 29. 如何在SQL Server中創建PDF數據庫圖表?
- 30. 如何用C#創建SQL Server 2012數據庫?
@Brettski:我剛安裝了'Elmah.Mvc'項目(v2.1.1),它沒有創建'App_Readme'文件夾或任何ddl腳本。 –
此頁不再存在:( –