You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Oqtane搭配远程PostgreSQL用2sxc模块遇连接问题求助

关于Oqtane+PostgreSQL环境下2SXC模块适配的问题

环境与错误描述

  • 已下载最新版Oqtane 5.0.2代码并在VS2022中启动,尝试在Oqtane界面安装2SXC模块以运行Blazor-CMS
  • Oqtane已成功连接Ubuntu 22.04系统上运行的PostgreSQL 15远程实例,但添加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

注:堆栈跟踪中的路径在本地系统中均不存在

问题列表

  • 是否可让2sxc适配PostgreSQL(本人从1999年开始编写C#代码,若有指导可开发相关功能);
  • 是否需要修改配置文件?若需要,应修改哪个文件及位置;
  • 有没有兼容PostgreSQL的Oqtane其他CMS模块?

补充说明

原本预期添加模块到页面时会出现向导,为此专门创建了新页面,但实际出现上述错误。错误暗示2sxc在调用SQL Server的端口参数,因使用PostgreSQL所以出现异常。原本希望它能继承Oqtane的数据连接器,或只需修改简单配置,也查找过不同关系型数据库的相关文档但无果,本人也可自行添加适配。


内容的提问来源于stack exchange,提问作者Max McCreery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:17:01