WebsitePanel AuditLog Error SQL Collation

Fix Web Site panel 2.1.0 – WebsitePanel AuditLog Error SQL Collation

WebsitePanel 2.1.0 AuditLog Error Collation on GetPackageExceedingQuotas

You will see an error below on your WSP AuditLog and the disk quota or bandwidth calculator will not work

 

 

WebsitePanel AuditLog Error SQL Collation

——————————————————————————————————————————–

Page URL: http://x.x.x.x/Default.aspx?pid=AuditLog&UserID=1

Logged User: serveradmin

Work on Behalf: serveradmin

Hosting Space: 0

Stack Trace: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Data.SqlClient.SqlException: Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1256_CI_AS" in the equal to operation.

at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()

at System.Data.SqlClient.SqlDataReader.get_MetaData()

at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)

at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)

at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)

at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDataset(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters)

at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDataset(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters)

at WebsitePanel.EnterpriseServer.DataProvider.GetAuditLogRecordsPaged(Int32 actorId, Int32 userId, Int32 packageId, Int32 itemId, String itemName, DateTime startDate, DateTime endDate, Int32 severityId, String sourceName, String taskName, String sortColumn, Int32 startRow, Int32 maximumRows)

at WebsitePanel.EnterpriseServer.AuditLog.GetAuditLogRecordsPaged(Int32 userId, Int32 packageId, Int32 itemId, String itemName, DateTime startDate, DateTime endDate, Int32 severityId, String sourceName, String taskName, String sortColumn, Int32 startRow, Int32 maximumRows)

at WebsitePanel.EnterpriseServer.esAuditLog.GetAuditLogRecordsPaged(Int32 userId, Int32 packageId, Int32 itemId, String itemName, DateTime startDate, DateTime endDate, Int32 severityId, String sourceName, String taskName, String sortColumn, Int32 startRow, Int32 maximumRows)

--- End of inner exception stack trace ---

at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

at WebsitePanel.EnterpriseServer.esAuditLog.GetAuditLogRecordsPaged(Int32 userId, Int32 packageId, Int32 itemId, String itemName, DateTime startDate, DateTime endDate, Int32 severityId, String sourceName, String taskName, String sortColumn, Int32 startRow, Int32 maximumRows)

at WebsitePanel.Portal.AuditLogHelper.GetAuditLogRecordsPaged(Int32 maximumRows, Int32 startRowIndex, String sortColumn, String sStartDate, String sEndDate, Int32 packageId, Int32 itemId, String itemName, Int32 severityId, String sourceName, String taskName)

--- End of inner exception stack trace ---

at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)

at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)

at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

at System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance)

--------------------------------------------------------------------------------------------------------------------------------
This is a bug or problem on Website Panel.

To solve this problem open your MS SQL and browse your WebsitePanel database to found GetPackageExceedingQuotas

1- Databases > WebsitePanel (Or any name you add for WSP db) > Programmability > Functions> Table-valued Function > GetPackageExceedingQuotas

Right Click on function and delete it.

 

functions Table-valued-function

Databases > WebsitePanel (Or any name you add for WSP db) > Programmability > Functions> Table-valued Function > GetPackageExceedingQuotas
Right Click on the function and delete it.

2- Run this query on SQL server:

 

——————————————————————————————————————————–

ALTER DATABASE websitepanel SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

GO

ALTER DATABASE websitepanel COLLATE Latin1_General_CI_AS;

GO

ALTER DATABASE websitepanel SET MULTI_USER;

GO

paste query here

3- Run This query, your WebsitePanel database name may be different:

——————————————————————————————————————————–

USE [WebsitePanel]

GO

/****** Object: UserDefinedFunction [dbo].[GetPackageExceedingQuotas] Script Date: 02/28/2016 11:30:34 AM ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE FUNCTION [dbo].[GetPackageExceedingQuotas]

@PackageID int
)

RETURNS @quotas TABLE (QuotaID int, QuotaName nvarchar(50), QuotaValue int)

AS

BEGIN

DECLARE @ParentPackageID int

DECLARE @PlanID int

DECLARE @OverrideQuotas bit

SELECT

@ParentPackageID = ParentPackageID,

@PlanID = PlanID,

@OverrideQuotas = OverrideQuotas

FROM Packages WHERE PackageID = @PackageID

IF @ParentPackageID IS NOT NULL -- not root package

BEGIN

IF @OverrideQuotas = 0 -- hosting plan quotas

BEGIN

INSERT INTO @quotas (QuotaID, QuotaName, QuotaValue)

SELECT

Q.QuotaID,

Q.QuotaName,

dbo.CheckExceedingQuota(@PackageID, Q.QuotaID, Q.QuotaTypeID) AS QuotaValue

FROM HostingPlanQuotas AS HPQ

INNER JOIN Quotas AS Q ON HPQ.QuotaID = Q.QuotaID

WHERE HPQ.PlanID = @PlanID AND Q.QuotaTypeID 3

END

ELSE -- overriden quotas

BEGIN

INSERT INTO @quotas (QuotaID, QuotaName, QuotaValue)

SELECT

Q.QuotaID,

Q.QuotaName,

dbo.CheckExceedingQuota(@PackageID, Q.QuotaID, Q.QuotaTypeID) AS QuotaValue

FROM PackageQuotas AS PQ

INNER JOIN Quotas AS Q ON PQ.QuotaID = Q.QuotaID

WHERE PQ.PackageID = @PackageID AND Q.QuotaTypeID 3

END

END -- if 'root' package

RETURN

END

GO

——————————————————————————————————————————–

4- Finished, Just refresh Table-valued Function to make sure the function is recreated.

اگر با وب سایت پنل آشنایی ندارید وب سایت پنل یک نرم افزار مدیریت سرورهای مشتری و وب سایت ها و سرویس هاستینگ است که در ابتدا لایسنس آن رایگان بود و در حال حاضر توسعه دهندگان آن برای نصب لایسنس ارائه می دهند. این کنترل پنل از قابلیت مالتی سرور یا چند سروری پشتیبانی میکند و می تواند با تنها یک سرور یا همزمان چندین سرور هماهنگی بین تمام سرویس ها از جمله ایمیل دیتابیس وب  دی ان اس و غیره را داشته باشد.

 

مطالب مرتبط:

سرور VPS در ایران

هاست ویندوز

میزبانی ایمیل

 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

1 thought on “WebsitePanel AuditLog Error SQL Collation