Oqtane and Blazor-CMS on Windows using a remote PostgreSQL DB

29 Views Asked by At

I have downloaded the code for and launched in VS2022, the latest Oqtane 5.0.2 and in the interface of Oqtane, installed the 2SXC module trying to get to where I could run Blazor-cms.

Now, with Oqtane, I am connected to a remote PostgreSQL instance running on Ubuntu 22.0.4, and Postgre running version 15.

Oqtane is running well, but when I add the module for 2sxc, I get the following:

Keyword not supported: 'port'. - at Microsoft.Data.Common.DbConnectionOptions.ParseInternal(Dictionary`2 parsetable, String connectionString, Boolean buildChain, Dictionary`2 synonyms, Boolean firstKey) at Microsoft.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary`2 synonyms) at Microsoft.Data.SqlClient.SqlConnectionString..ctor(String connectionString) at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) at Microsoft.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) at Microsoft.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key) at Microsoft.Data.SqlClient.SqlConnection.set_ConnectionString(String value) at Microsoft.Data.SqlClient.SqlConnection..ctor(String connectionString) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerConnection.CreateDbConnection() at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.get_DbConnection() at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.GetDbConnection(DatabaseFacade databaseFacade) at ToSic.Eav.Repository.Efc.Parts.DbVersioning.GetChangeLogId() at ToSic.Eav.Repository.Efc.DbDataController.SaveChanges(Boolean acceptAllChangesOnSuccess, SaveChangesEvent baseEvent) at ToSic.Eav.Persistence.Efc.Models.EavDbContext.SaveChanges(Boolean acceptAllChangesOnSuccess) at Microsoft.EntityFrameworkCore.DbContext.SaveChanges() at ToSic.Eav.Repository.Efc.Parts.DbDimensions.AddRootCultureNode(String systemKey, String name, ToSicEavZones zone) at ToSic.Eav.Repository.Efc.Parts.DbZone.AddZone(String name) at ToSic.Eav.Apps.Internal.Work.ZoneCreator.Create(String name) at ToSic.Sxc.Oqt.Server.Run.OqtZoneMapper.GetZoneId(Int32 tenantId) in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Run\OqtZoneMapper.cs:line 54 at ToSic.Sxc.Oqt.Server.Context.OqtSite.get_ZoneId() in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Context\OqtSite.cs:line 126 at ToSic.Sxc.Oqt.Server.Context.OqtModule.get_BlockIdentifier() in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Context\OqtModule.cs:line 88 at ToSic.Sxc.Blocks.Internal.BlockFromModule.Init(IContextOfBlock ctx) at ToSic.Sxc.Oqt.Server.Blocks.OqtSxcViewBuilder.b__20_1() in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Blocks\OqtSxcViewBuilder.cs:line 131 at ToSic.Lib.Logging.LogCallBaseExtensions.DoInTimer[TResult](ILogCall logCall, Func`1 action) at ToSic.Sxc.Oqt.Server.Blocks.OqtSxcViewBuilder.b__20_0() in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Blocks\OqtSxcViewBuilder.cs:line 128 at ToSic.Lib.Helpers.GetOnce`1.Get(Func`1 generator) at ToSic.Sxc.Oqt.Server.Blocks.OqtSxcViewBuilder.get_Block() in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Blocks\OqtSxcViewBuilder.cs:line 128 at ToSic.Sxc.Oqt.Server.Blocks.OqtSxcViewBuilder.b__26_0() in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Blocks\OqtSxcViewBuilder.cs:line 145 at ToSic.Lib.Helpers.GetOnce`1.Get(Func`1 generator) at ToSic.Sxc.Oqt.Server.Blocks.OqtSxcViewBuilder.get_OutputCache() in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Blocks\OqtSxcViewBuilder.cs:line 145 at ToSic.Sxc.Oqt.Server.Blocks.OqtSxcViewBuilder.<>c__DisplayClass9_0.b__1() in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Blocks\OqtSxcViewBuilder.cs:line 77 at ToSic.Lib.Logging.ILog_Actions.Do(ILog log, String parameters, Action action, Boolean timer, Boolean enabled, String message, String cPath, String cName, Int32 cLine) at ToSic.Lib.Logging.ILog_Actions.Do(ILog log, Action action, Boolean timer, Boolean enabled, String message, String cPath, String cName, Int32 cLine) at ToSic.Sxc.Oqt.Server.Blocks.OqtSxcViewBuilder.<>c__DisplayClass9_0.b__0() in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Blocks\OqtSxcViewBuilder.cs:line 74 at ToSic.Lib.Logging.LogCallBaseExtensions.DoInTimer(ILogCall logCall, Action action) at ToSic.Sxc.Oqt.Server.Blocks.OqtSxcViewBuilder.Prepare(Alias alias, Site site, Page page, Module module, Boolean preRender) in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Blocks\OqtSxcViewBuilder.cs:line 74 at ToSic.Sxc.Oqt.Server.Controllers.OqtSxcRenderController.Prepare(Int32 aliasId, Int32 pageId, Int32 moduleId, String culture, Boolean preRender, String originalParameters) in C:\Projects\2sxc\2sxc\Src\Oqtane\ToSic.Sxc.Oqt.Server\Controllers\OqtSxcRenderController.cs:line 80

The fun bit is, none of the paths in the stack trace exist on my system. So, I have some questions:

  1. Is it possible to use 2sxc with Postgre ( I don't mind coding a new feature if I can get some guidance. Been coding in c# since 99. )
  2. Is this something in a config file I need to change, if so, Where, and which one.
  3. Are there other CMSs for Oqtane that are postgre friendly?

Observations:

I was expecting a wizard to appear when adding the module to a page. I created a new page to add it to. Instead, I got an error that implies that it has an error with SQL Server's port call. Sa I am using Postgre, I expect an error. However, I was hoping to find it inherited Oqtane's data connector or a simple config I can change. Or better yet, docs that helps deal with different RMDBSs, but came up empty handed. I don't mind adding one after. :-)

Max

1

There are 1 best solutions below

2
iJungleBoy On BEST ANSWER

As of now, 2sxc requires SQL server.

This is probably not something that can change easily, because the code must also remain compatible to Dnn, which is SQL-Server only and running on an older .net framework.

If it can be done, contributions would be very welcome ;)!

Other CMSs for Oqtane: none that I'm aware of.