Windows 上的 Oqtane 和 Blazor-CMS 使用远程 PostgreSQL 数据库

问题描述 投票:0回答:1

我已经下载了最新的 Oqtane 5.0.2 的代码并在 VS2022 中启动,并在 Oqtane 的界面中安装了 2SXC 模块,试图到达可以运行 Blazor-cms 的位置。

现在,通过 Oqtane,我连接到在 Ubuntu 22.0.4 上运行的远程 PostgreSQL 实例,以及运行版本 15 的 Postgre。

Oqtane 运行良好,但是当我为 2sxc 添加模块时,我得到以下信息:

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

有趣的是,我的系统上不存在堆栈跟踪中的任何路径。所以,我有几个问题:

  1. 是否可以将 2sxc 与 Postgre 一起使用(如果我能得到一些指导,我不介意编写新功能。自 99 年以来一直在使用 c# 进行编码。)
  2. 这是我需要更改的配置文件中的某些内容吗?如果需要更改,请更改位置以及哪一个。
  3. Oqtane 是否还有其他对 postgre 友好的 CMS?

观察:

我希望在将模块添加到页面时会出现一个向导。我创建了一个新页面将其添加到。相反,我收到一个错误,表明 SQL Server 的端口调用有错误。 Sa 我正在使用 Postgre,我预计会出现错误。然而,我希望找到它继承 Oqtane 的数据连接器或我可以更改的简单配置。或者更好的是,可以帮助处理不同 RMDBS 的文档,但却空手而归。我不介意后面再加一张。 :-)

最大

content-management-system dotnetnuke 2sxc
1个回答
0
投票

截至目前,2sxc 需要 SQL 服务器。

这可能不是一件容易改变的事情,因为代码还必须保持与 Dnn 兼容,Dnn 仅是 SQL-Server 并且在较旧的 .net 框架上运行。

如果可以的话,非常欢迎贡献;)!

Oqtane 的其他 CMS:据我所知没有。

© www.soinside.com 2019 - 2024. All rights reserved.