|
|
|
Joined: 3/28/2004
Posts: 1
|
|
|
Hi, I was upgrading from 3.1.1 to 3.2 and after upgrade I got the following message.( see below) I search and can not find how to resolve. Any help is greatly appreciated.
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. | Stack Trace:
[SqlException: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.]
System.Data.SqlClient.SqlDataReader.Read() +176
DotNetNuke.Common.Utilities.CBO.FillObject(IDataReader dr, Type objType, Boolean ManageDataReader) +57
DotNetNuke.Entities.Portals.PortalController.GetPortal(Int32 PortalId) +38
DotNetNuke.Entities.Portals.PortalSettings.GetPortalSettings(Int32 TabId, PortalAliasInfo objPortalAliasInfo) +243
DotNetNuke.Entities.Portals.PortalSettings..ctor(Int32 tabId, PortalAliasInfo objPortalAliasInfo) +93
DotNetNuke.HttpModules.UrlRewriteModule.OnBeginRequest(Object s, EventArgs e) +3720
System.Web.SyncEventExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute() +60
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +87
|
|
|
|
|
| |
|
|
www.purplebox.be Joined: 9/13/2004
Posts: 192
|
|
|
This sounds like a broken database, most likely duplicate values somewhere in the portal dataset
If you are a verry experienced programmer, try taking a look at all the data needed to complete the GetPortalByID stored procedure and look for duplicate data. you could try to repair manually
If you have no idea what you are doing, don't touch that, you will most likly break even more
|
|
|
|
| |
|
|
|
fiala.cc/ Joined: 7/28/2005
Posts: 24
|
|
|
After upgrading a DotNetNuke installation, version 3.2 to version 3.3. I am getting the same error. The reason is that in one column there are two values returned coming from Table Tabs.
The following query shows this:
SELECT * FROM Tabs WHERE (PortalID IS NULL)
The column ParentId shoud have the value NULL in only one row, the one with TabName="Host". In my case also a second row (TabName="Authentication") has the value NULL.
After patching this entry to the value of the correct Number of the ParentID the Portal can be started.
But after this success there is a second very severe additional error: it is no longer possible to login to the portal.
Franz
|
|
|
|
| |
|
|
Joined: 12/21/2004
Posts: 30
|
|
|
bump.
I am experiencing the same symptoms with an upgrade from 3.1.1 to 4.3.2.
Once I update the Authentication tab's PortalID from NULL, I can log in as a normal user, but I can't as 'host'.
See also http://dotnetnuke.com/Community/ForumsDotNetNuke/tabid/795/postid/17029/Default.aspx
|
|
|
|
| |
|
|
Joined: 12/21/2004
Posts: 30
|
|
|
This can be corrected by running in the following SQL as a script (available on the Host > SQL menu option)
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}[{objectQualifier}GetPortal]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure {databaseOwner}[{objectQualifier}GetPortal] GO
CREATE PROCEDURE {databaseOwner}{objectQualifier}GetPortal ( @PortalId int ) AS SELECT {objectQualifier}Portals.PortalID, {objectQualifier}Portals.PortalName, 'LogoFile' = case when {objectQualifier}Files.FileName is null then {objectQualifier}Portals.LogoFile else {objectQualifier}Files.Folder + {objectQualifier}Files.FileName end, {objectQualifier}Portals.FooterText, {objectQualifier}Portals.ExpiryDate, {objectQualifier}Portals.UserRegistration, {objectQualifier}Portals.BannerAdvertising, {objectQualifier}Portals.AdministratorID, {objectQualifier}Portals.Currency, {objectQualifier}Portals.HostFee, {objectQualifier}Portals.HostSpace, {objectQualifier}Portals.AdministratorRoleID, {objectQualifier}Portals.RegisteredRoleID, {objectQualifier}Portals.Description, {objectQualifier}Portals.KeyWords, 'BackGroundFile' = case when Files2.FileName is null then {objectQualifier}Portals.BackGroundFile else Files2.Folder + Files2.FileName end, {objectQualifier}Portals.GUID, {objectQualifier}Portals.PaymentProcessor, {objectQualifier}Portals.ProcessorUserId, {objectQualifier}Portals.ProcessorPassword, {objectQualifier}Portals.SiteLogHistory, {objectQualifier}Portals.SplashTabID, {objectQualifier}Portals.HomeTabID, {objectQualifier}Portals.LoginTabID, {objectQualifier}Portals.UserTabID, {objectQualifier}Portals.DefaultLanguage, {objectQualifier}Portals.TimeZoneOffset, {objectQualifier}Portals.AdminTabID, {objectQualifier}Portals.HomeDirectory, 'SuperTabId' = ( select TabId from {objectQualifier}Tabs where PortalId is null and ParentId is null and TabName = 'Host' ), 'AdministratorRoleName' = ( select RoleName from {objectQualifier}Roles where RoleId = {objectQualifier}Portals.AdministratorRoleID ), 'RegisteredRoleName' = ( select RoleName from {objectQualifier}Roles where RoleId = {objectQualifier}Portals.RegisteredRoleID ) FROM {objectQualifier}Portals LEFT OUTER JOIN {objectQualifier}Files on {objectQualifier}Portals.LogoFile = 'fileid=' + convert(varchar,{objectQualifier}Files.FileID) LEFT OUTER JOIN {objectQualifier}Files as Files2 on Portals.BackGroundFile = 'fileid=' +convert(varchar,Files2.FileID) WHERE {objectQualifier}Portals.PortalId = @PortalId
GO
|
|
|
|
| |