I think Redis is not enabled by default. You can search for Redis keywords in the project.
If i don't use it, it is no problem. right?
I don't know how to use Redis. I publish my application to IIS without using the Redis. 1/Is it required to have a Redis? 2/If i want to use a Redis, could you share a document to setup it working with ABP application?
Thanks
.HasMaxLength(4000)
Thank you. I follow you by adding the following:
builder.Entity<AuditLog>(b => { b.Property(x => x.Exceptions).HasColumnType("CLOB").HasMaxLength(4000); });
builder.Entity<AuditLogAction>(b => { b.Property(x => x.Parameters).HasColumnType("CLOB").HasMaxLength(4000); });
BUT i get the following error after dotnet ef database update.
declare l_nullable user_tab_columns.nullable % type; begin select nullable into l_nullable from user_tab_columns where table_name = 'QoEAuditLogs' and column_name = 'Exceptions' ; if l_nullable = 'N' then EXECUTE IMMEDIATE 'ALTER TABLE "AuditLogs" MODIFY "Exceptions" CLOB NULL'; else EXECUTE IMMEDIATE 'ALTER TABLE "AuditLogs" MODIFY "Exceptions" CLOB'; end if; end; Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-22858: invalid alteration of datatype
I google about it. It seems that it is not allowed to change from nvarchar2 to CLOB. From the following link, it is required to change nvarchar2 to other data type first. secondly change to CLOB. https://stackoverflow.com/questions/13402510/oracle-changing-varchar2-column-to-clob if so, how can i do that in MyProjectDbContext?
What was your Oracle version?
Sorry for late reply. My oracle is 19c Enterprise Edition Release 19.0.0.0.0
https://github.com/abpframework/abp/pull/11861
So how my code should look like?
it works like the following?
namespace MyProject.Web.Pages.Shared.Components.MyCharts.MyChartWidget
{
[Widget(
ScriptTypes = new[] { typeof(MyChartWidgetWidgetScriptContributor) }
)]
public class MyChartViewComponent : AbpViewComponent
{
public virtual IViewComponentResult Invoke()
{
return View("/Pages/Shared/Components/MyCharts/MyChartWidget/Default.cshtml");
}
}
public class MyChartWidgetWidgetScriptContributor : BundleContributor
{
public override void ConfigureBundle(BundleConfigurationContext context)
{
context.Files.Add("/Pages/Shared/Components/MyCharts/MyChartWidget/Default.js");
}
}
}
any update plz?
any update plz?
Within my lower version < 5.2, ChartjsStyleContributor is recognized and working fine. it is from Volo.Abp.AspNetCore.Mvc.UI.Packages.ChartJs.ChartjsStyleContributor I use it in my class MyChartViewComponent.cs under MyProject.Web.Pages.Shared.Components.MyCharts.MyChartWidget
****Now it is not recognized
namespace MyProject.Web.Pages.Shared.Components.MyCharts.MyChartWidget
{
[Widget(
StyleTypes = new[] { typeof(ChartjsStyleContributor) },
ScriptTypes = new[] { typeof(MyChartWidgetWidgetScriptContributor) }
)]
public class MyChartViewComponent : AbpViewComponent
{
public virtual IViewComponentResult Invoke()
{
return View("/Pages/Shared/Components/MyCharts/MyChartWidget/Default.cshtml");
}
}
[DependsOn(typeof(ChartjsScriptContributor))]
public class MyChartWidgetWidgetScriptContributor : BundleContributor
{
public override void ConfigureBundle(BundleConfigurationContext context)
{
context.Files.Add("/Pages/Shared/Components/MyCharts/MyChartWidget/Default.js");
}
}
}
In oracle, the maximum of varchar2 is 2000. i can not increase more.
Are you sure? As I know, varchar2 can store 4000 bytes/characters max. (https://docs.oracle.com/cd/E18283_01/server.112/e17110/limits001.htm)
Yes you're right. But I get error when I increase the size:
builder.Entity<AuditLog>(b =>
{
b.Property(x => x.Exceptions).HasColumnType("nvarchar2(4000)");
});
builder.Entity<AuditLogAction>(b =>
{
b.Property(x => x.Parameters).HasColumnType("nvarchar2(4000)");
});
2022-04-16 16:17:17.791266 ThreadID:1 (ERROR) OracleRelationalCommand.ExecuteNonQuery() : Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-00910: specified length too long for its datatype ORA-06512: at line 12 at OracleInternal.ServiceObjects.OracleConnectionImpl.VerifyExecution(Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, SqlStatementType sqlStatementType, Int32 arrayBindCount, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone) at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteNonQuery(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, OracleException& exceptionForArrayBindDML, OracleConnection connection, Boolean isFromEF) at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery() at Oracle.EntityFrameworkCore.Storage.Internal.OracleRelationalCommandBuilderFactory.OracleRelationalCommandBuilder.OracleRelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject) Failed executing DbCommand (378ms) [Parameters=[], CommandType='Text', CommandTimeout='0'] declare l_nullable user_tab_columns.nullable % type; begin select nullable into l_nullable from user_tab_columns where table_name = 'QoEAuditLogs' and column_name = 'Exceptions' ; if l_nullable = 'N' then EXECUTE IMMEDIATE 'ALTER TABLE "QoEAuditLogs" MODIFY "Exceptions" nvarchar2(4000) NULL'; else EXECUTE IMMEDIATE 'ALTER TABLE "QoEAuditLogs" MODIFY "Exceptions" nvarchar2(4000)'; end if; end;