جستجو
منو بسته
2 بهمن 1403

عدم نمایش عکس های سایت بعد از ارتقای ناپ کامرس به 4.10

5 سال پیش
#1854
من سایتم را از ناپ کامرس 3.90 به 4.10 ارتقا دادم. الان تمام عکس های سایت بصورت No Image نمایش داده میشه.
نقل قول
0
5 سال پیش
#1857
1. بررسی کنید ببینید اگر جدول PictureBinary در دیتابیس شما وجود دارد.
2. اگر جدول PictureBinary در دیتابیس شما وجود دارد ، مراحل زیر را تا مرحله 3 انجام دهید
1.2  اسکریپت زیر را اجرا کنید:
IF EXISTS (SELECT *  FROM sys.foreign_keys  WHERE object_id = OBJECT_ID(N'FK_PictureBinary_Picture_PictureId') AND parent_object_id = OBJECT_ID(N'PictureBinary'))
    ALTER TABLE [PictureBinary] DROP CONSTRAINT [FK_PictureBinary_Picture_PictureId]
  GO


2.2  تعداد کل رکورهای جدول PictureBinary را بررسی کنید:
select count(*) from PictureBinary

3.2  اگر تعداد رکورد کمی وجود دارد یا هیچ رکوردی در جدول وجود ندارد ، اسکریپت زیر را اجرا کنید:
 --copy existing data
    INSERT INTO [dbo].[PictureBinary](PictureId, BinaryData)
    SELECT [Id], [PictureBinary] FROM [dbo].[Picture]


اگر تعداد رکورد زیادی در جدول Picture دارید ، سپس اسکریپت SQL زیر را اجرا کنید. این از رکوردهای تکراری در جدول جلوگیری می کند:
INSERT INTO [dbo].[PictureBinary](PictureId, BinaryData)
    SELECT top 1 [Id], [PictureBinary] FROM [dbo].[Picture] where Id NOT IN (select PictureId from [PictureBinary])


4.2. تعداد رکوردهای جدول PictureBinary را بررسی کنیدو (این شبیه رکوردهای جدول Picture  خواهد بود)

3.  اگر جدول PictureBinary وجود ندارد. مراحل زیر را انجام دهید:
1.3 جدول را از طریق اسکریپت زیر ایجاد کنید:
CREATE TABLE [dbo].[PictureBinary]
    (
    [Id] int IDENTITY(1,1) NOT NULL,
    [PictureId] int NOT NULL,
    [BinaryData] [varbinary](max) NULL,    
    PRIMARY KEY CLUSTERED
    (
      [Id] ASC
    ) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON)
  )


2.3 قدم دو را دنبال کنید

4.یکبار که مراحل فوق را انجام دادید محتوای جدول تصاویر به جدول PictureBinary  کپی می شود. حال جدول Picture  را حذف کنید:
ALTER TABLE dbo.Picture  DROP COLUMN [PictureBinary]')  


5. اکنون اسکریپت زیر را اجرا کنید:
IF EXISTS (SELECT *  FROM sys.foreign_keys  WHERE object_id = OBJECT_ID(N'FK_PictureBinary_Picture_PictureId') AND parent_object_id = OBJECT_ID(N'PictureBinary'))
  ALTER TABLE [PictureBinary] DROP CONSTRAINT [FK_PictureBinary_Picture_PictureId]
GO

ALTER TABLE [dbo].[PictureBinary] WITH CHECK ADD CONSTRAINT [FK_PictureBinary_Picture_PictureId] FOREIGN KEY(PictureId)
REFERENCES [dbo].[Picture] ([Id])
ON DELETE CASCADE
GO

نقل قول
1
4 سال پیش
#3468
من این اسکریپت اجرا کردم همچین خطایی بهم داد

پیام کوتاه  
An error occurred while executing the command definition. See the inner exception for details.
همه پیام ها  
System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Invalid column name 'PictureBinary'.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.SqlInternalConnection.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, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, 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& usedCache, Boolean asyncWrite, Boolean inRetry)
   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.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<Reader>b__c(DbCommand t, DbCommandInterceptionContext`1 c)
   at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
   at System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   --- End of inner exception stack trace ---
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__6()
   at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__5()
   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](F
طراحی قالب اختصاصی برای ناپ کامرس
نقل قول
0
4 سال پیش
#3470
عکس های فروشگاه قبلی را از پوشه Content\Images به پوشه wwwroot\Images در فروشگاه جدید کپی کنید.
نقل قول
0
4 سال پیش
#3482
وحدت حمیدی wrote:
1. بررسی کنید ببینید اگر جدول PictureBinary در دیتابیس شما وجود دارد.
2. اگر جدول PictureBinary در دیتابیس شما وجود دارد ، مراحل زیر را تا مرحله 3 انجام دهید
1.2  اسکریپت زیر را اجرا کنید:
IF EXISTS (SELECT *  FROM sys.foreign_keys  WHERE object_id = OBJECT_ID(N'FK_PictureBinary_Picture_PictureId') AND parent_object_id = OBJECT_ID(N'PictureBinary'))
    ALTER TABLE [PictureBinary] DROP CONSTRAINT [FK_PictureBinary_Picture_PictureId]
  GO


2.2  تعداد کل رکورهای جدول PictureBinary را بررسی کنید:
select count(*) from PictureBinary

3.2  اگر تعداد رکورد کمی وجود دارد یا هیچ رکوردی در جدول وجود ندارد ، اسکریپت زیر را اجرا کنید:
 --copy existing data
    INSERT INTO [dbo].[PictureBinary](PictureId, BinaryData)
    SELECT [Id], [PictureBinary] FROM [dbo].[Picture]


اگر تعداد رکورد زیادی در جدول Picture دارید ، سپس اسکریپت SQL زیر را اجرا کنید. این از رکوردهای تکراری در جدول جلوگیری می کند:
INSERT INTO [dbo].[PictureBinary](PictureId, BinaryData)
    SELECT top 1 [Id], [PictureBinary] FROM [dbo].[Picture] where Id NOT IN (select PictureId from [PictureBinary])


4.2. تعداد رکوردهای جدول PictureBinary را بررسی کنیدو (این شبیه رکوردهای جدول Picture  خواهد بود)

3.  اگر جدول PictureBinary وجود ندارد. مراحل زیر را انجام دهید:
1.3 جدول را از طریق اسکریپت زیر ایجاد کنید:
CREATE TABLE [dbo].[PictureBinary]
    (
    [Id] int IDENTITY(1,1) NOT NULL,
    [PictureId] int NOT NULL,
    [BinaryData] [varbinary](max) NULL,    
    PRIMARY KEY CLUSTERED
    (
      [Id] ASC
    ) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON)
  )


2.3 قدم دو را دنبال کنید

4.یکبار که مراحل فوق را انجام دادید محتوای جدول تصاویر به جدول PictureBinary  کپی می شود. حال جدول Picture  را حذف کنید:
ALTER TABLE dbo.Picture  DROP COLUMN [PictureBinary]')  


5. اکنون اسکریپت زیر را اجرا کنید:
IF EXISTS (SELECT *  FROM sys.foreign_keys  WHERE object_id = OBJECT_ID(N'FK_PictureBinary_Picture_PictureId') AND parent_object_id = OBJECT_ID(N'PictureBinary'))
  ALTER TABLE [PictureBinary] DROP CONSTRAINT [FK_PictureBinary_Picture_PictureId]
GO

ALTER TABLE [dbo].[PictureBinary] WITH CHECK ADD CONSTRAINT [FK_PictureBinary_Picture_PictureId] FOREIGN KEY(PictureId)
REFERENCES [dbo].[Picture] ([Id])
ON DELETE CASCADE
GO

بسیار عالی
من با همین روش مشکلم حل شد
نقل قول
0
09127857628