✨ Community just got smarter! Our all-new AI search is live! ask anything in the search bar, get instant answers.

Authentication failed

lock
push_pin
done
Answered
17

I am trying to connect to a onprem 11.10.725.0 database but I get the error: SoException: Missing dialect for database Major: 'MSSQL', Minor: '16'.

What does it mean?

Source: "SoDataBase"

Stacktrace:

   at SuperOffice.Data.SoConnection..ctor(String userName, String password)
   at SuperOffice.Security.Principal.NSLocalAuthenticator.Authenticate(IEnumerable`1 identities)
   at SuperOffice.SoContext.Authenticate(ClaimsIdentitiesBuilder identitiesBuilder)

6 May 2026 | 01:08 PM

All Replies (17)

Hej Martin
Jag använde min copilot agent kopplad mot web o community. Den sade:

Här är en kort, tydlig och forum‑vänlig sammanfattning du kan posta rakt av 👇


❗ Missing dialect for database Major: MSSQL, Minor: 16

Sammanfattning:
Detta fel beror på en versionsmismatch mellan SuperOffice och SQL Server.

  • SQL Server 2022 rapporterar version Major 16
  • SuperOffice 11.10.725.0 saknar stöd (dialect) för MSSQL 16
  • Resultat: NetServer kan inte starta → SoException: Missing dialect

Viktigt:
SuperOffice behöver en databasspecifik SQL dialect för varje stödd SQL‑version. Om databasen är nyare än vad din SuperOffice‑build känner till, uppstår detta fel.


✅ Minsta SuperOffice‑version som stöder SQL Server 2022

SuperOffice 10.1.6 (onsite)
Detta är första versionen som är officiellt testad och stöder SQL Server 2022.


🔧 Rekommenderade lösningar

  1. Uppgradera SuperOffice till en version/build som stöder SQL Server 2022 (rekommenderat och supportat)
  2. Alternativt: Kör databasen på SQL Server 2019
  3. ⚠️ Ej rekommenderat: Tvinga DatabaseMinor=15 i config – kan fungera tillfälligt men är inte supportat

🧠 Slutsats

Felet är korrekt och förväntat.
SuperOffice 11.10.725.0 + SQL Server 2022 är ingen giltig kombination.


Hoppas detta sparar tid för fler som springer på samma problem 👍



//Anders

6 May 2026 | 02:27 PM

Lite mer info – SuperOffice 11 och SQL Server 2022

Minsta rekommenderade SuperOffice 11‑build som stöder SQL Server 2022 är:
👉 SuperOffice 11.12.675.0


Varför just 11.12.675.0?

  • SQL Server 2022 rapporterar Major version 16
  • Detta kräver att NetServer innehåller MSSQL‑16‑dialekten
  • Äldre 11‑builds (t.ex. 11.10.725.0) saknar denna dialect och ger felet:

    Missing dialect for database Major: MSSQL, Minor: 16

  • SuperOffice 11.12 är första 11‑versionen där NetServer‑uppdateringar ligger efter den period då SQL Server 2022 är officiellt testad och stödd av SuperOffice (enligt kompatibilitetsrapporter och NetServer release notes)

Rekommendation i praktiken

SuperOffice 11‑build SQL Server 2022
LT 11.10.x ❌ Saknar MSSQL‑16‑dialekt
11.12.675.0 ✅ Minsta rekommenderade
Nyare 11.x

Slutsats

Om du kör SQL Server 2022:

  • ✅ Uppgradera minst till SuperOffice 11.12.675.0
  • 🔁 Alternativt: kör databasen på SQL Server 2019 tills uppgradering är gjord

Möjlig workaround (ej supportad)

Man kan testa att:

  • sätta DB compatibility level = 15
  • samt justera web config:

 

add key="DatabaseMajor" value="MSSQL" 
add key="DatabaseMinor" value="16" 

 

⚠️ Detta är inte supportat och bör endast ses som en tillfällig workaround.


/Anders

6 May 2026 | 02:40 PM

Thank you for your help, but where do I download 11.12.675.0?

6 May 2026 | 05:00 PM

I actually looked at this and thought that SQL 22 was OK

But then this means that only up to 10.1.6 has been tested?

 

 

6 May 2026 | 05:16 PM

Tested with MSSQL 2019, and gets the same error: SoException: Missing dialect for database Major: 'MSSQL', Minor: '15'.

6 May 2026 | 06:14 PM
Ok, Then I do not know how to solve this. (There are a planned 11.13 release for on prem next week. )
I know there were some issues discussed with the 11.10 release regarding to windows AD auth..Cant find that link now. Maybe it is related some how?
Btw how are you trying to connect to the database ? Just via the SO webapplication GUI or some custom code of yours?
//Anders
7 May 2026 | 08:39 AM

It is my own exe-app. The SoAppConfig works.

This is my test code that fails with error.

string fullPath = Path.Combine(ExePath, "appsettings.json");
            
IConfigurationRoot implementationInstance = new Microsoft.Extensions.Configuration.ConfigurationBuilder().AddJsonFile(fullPath).Build();

Startup startup = new Startup((IConfiguration)implementationInstance);
ServiceCollection services = new ServiceCollection();

services.AddSingleton((IConfiguration)implementationInstance);
//services.AddNetServerCoreForAsyncLocalProcess((IConfiguration)implementationInstance);
//services.AddSoDatabase((IConfiguration)implementationInstance);
startup.ConfigureServices((IServiceCollection)services);
startup.Configure((IServiceProvider)services.BuildServiceProvider());

string serial = SoDatabase.GetCurrent().SerialNumber;
 
7 May 2026 | 09:39 AM

Ok, something must be wrong there then. (changes made in newer SO 11.x versions).  For what vesion are  u sure the above code works?
If I continue to ask my AI it say:

======================================

Här är en kort och forum‑anpassad sammanfattning, med fokus på lösningen i koden:

 

Missing dialect (MSSQL 16) i custom console‑app – lösning

Felet beror oftast inte på SQL Server, utan på att NetServer inte är korrekt initialiserad i en command‑line‑applikation.

I en console‑app måste NetServer och SoDatabase explicit registreras. Till skillnad från Web/Win‑klienter sker detta inte automatiskt.

 

Vanliga orsaker

  • AddNetServerCore… och/eller AddSoDatabase är inte registrerade
  • RegisterWithNetServer() saknas
  • Felaktig eller ofullständig appsettings.json
  • Appen refererar äldre NetServer‑DLL:er utan MSSQL‑16‑dialekt

 

Rekommenderad minimal lösning i kod

 

var config = new ConfigurationBuilder()

    .AddJsonFile("appsettings.json", false)

    .Build();

var services = new ServiceCollection();

services.AddSingleton

services.AddNetServerCoreForAsyncLocalProcess(config);

services.AddSoDatabase(config);

var provider = services.BuildServiceProvider();

provider.RegisterWithNetServer();

var serial = SoDatabase.GetCurrent().SerialNumber;

 

Viktigt

  • Säkerställ att appsettings.json innehåller full SuperOffice‑konfiguration
  • Kontrollera att DLL‑versionerna matchar serverns SuperOffice‑build
  • Annars saknas MSSQL‑16‑dialekten → Missing dialect for database Major: MSSQL, Minor: 16

 

Kort sagt:

Detta är ett bootstrap/DI‑problem i custom‑koden, inte ett SQL‑problem.

============================
OBS, kan ju vara fel så klart...har inte någon miljö (ännu) där jag själv kan testa detta.

//Anders 

7 May 2026 | 03:07 PM

Thank you! Stil the same error.

In appSettings.json, what is a full SuperOffice configuration, where can I see it?

{
  "Logging": {
    "LogLevel": {
      "Default": "Error",
      "Microsoft": "Error",
      "SuperOffice": "Error",
      "SuperOffice.Online.Fileset.Common.MailKit.Loggers.MailKitNetCoreProtocolLogger": "Information"
    }
  },
  "SoArc": {
    "UseAzureBlobStorage": false
  }
}

8 May 2026 | 07:53 AM

I still can't get it to run, I started from zero again, with a small Net 10.0 Console app. Maybe someone want to test it themself: https://download.beezy365apps.com/Com/SuperOfficeConsole.zip

I am not sure about the appSettings.json, but if needed it is the in the solution folder.

This is the code (all of it):


using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using SuperOffice;
using SuperOffice.Data;

var ExePath = Path.GetDirectoryName(System.Environment.ProcessPath);
string appsettings = Path.Combine(ExePath, "appsettings.json");
var config = new Microsoft.Extensions.Configuration.ConfigurationBuilder()
    //.AddJsonFile(appsettings, false)
.Build();

var services = new ServiceCollection();
services.AddSingleton(config);
services.AddNetServerCoreForAsyncLocalProcess(config, (Action)(options => { }));
services.AddSoDatabase(config);
//services.AddSingleton();

var provider = services.BuildServiceProvider();
provider.RegisterWithNetServer();

using var session = SoSession.Authenticate("MA", "ma");
var serial = SoDatabase.GetCurrent().SerialNumber;
Console.WriteLine(serial);

Console.ReadLine();
11 May 2026 | 02:19 PM

Hi Martin,
Did continue to talk with my Agent.

Här är en kort och tydlig uppsummering för forumpost, med bara det nödvändigaste:


Missing dialect (MSSQL 16) i console‑app – sammanfattning

1. Kort förklaring

Felet “Missing dialect for database Major: MSSQL, Minor: 16” uppstår oftast inte p.g.a. SQL Server, utan för att NetServer inte är korrekt initialiserat i en console‑applikation.
Till skillnad från Web/Win‑klienter måste NetServer och SoDatabase bootstrappas manuellt i koden, och korrekt konfiguration måste laddas från appsettings.json.


2. Korrekt (minimal) C#‑kod

 

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using SuperOffice;
using SuperOffice.Data;

var config = new ConfigurationBuilder()
    .AddJsonFile("appsettings.json", false)
    .Build();

var services = new ServiceCollection();
services.AddSingleton

services.AddNetServerCoreForAsyncLocalProcess(config);
services.AddSoDatabase(config);

var provider = services.BuildServiceProvider();
provider.RegisterWithNetServer();

using var session = SoSession.Authenticate("MA", "ma");
var serial = SoDatabase.GetCurrent().SerialNumber;

Console.WriteLine(serial);

 

Viktigt:

  • AddJsonFile(...) får inte saknas
  • RegisterWithNetServer() måste anropas innan SoSession.Authenticate

3. Exempel på minimal appsettings.json

 

{
  "SuperOffice": {
    "Data": {
      "Database": {
        "DatabaseMajor": "MSSQL",
        "DatabaseMinor": "16",
        "ConnectionString": "Server=SQLSERVER;Database=CRMDB;User ID=crmuser;Password=secret;"
      }
    },
    "Session": {
      "Mode": "Thread"
    }
  }
}

 

Detta är miniminivån som krävs för att NetServer ska:

  • identifiera databastyp
  • välja rätt SQL‑dialekt
  • fungera i en console‑app

Kort sagt:
Detta är ett bootstrap-/konfigurationsproblem i koden, inte ett SQL‑problem.



//Anders

12 May 2026 | 11:37 AM

Thank you, I've use Ai also, but got a different appSettings than you, and I know it could not work but I tested it, same error.

I tried of cause your appSettings.json, but it does not even make a difference if the connections string is right or wrong, same error.

{
  "ConnectionStrings": {
    "SoDatabase": "Server=APPSDEV-MKA02;Database=SUO11.10;Integrated Security=True;"
  },
  "SoDatabase": {
    "Provider": "MSSQL"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Error",
      "Microsoft": "Error",
      "SuperOffice": "Information",
      "SuperOffice.Online.Fileset.Common.MailKit.Loggers.MailKitNetCoreProtocolLogger": "Information"
    }
  },
  "SoArc": {
    "UseAzureBlobStorage": false
  }
}

 

 

12 May 2026 | 12:10 PM

Ok, strange..
Have you looked at docs here:
NetServer Core API | SuperOffice Docs

12 May 2026 | 12:16 PM

Finally I found a solution and it is not the code or config file it is the DLL's. I had different of the DLL's versions than intended I think, at least some of them was not fitting together with some others, that is properly more correct. I tried to set a break point in the first line in Main(), then run it, and while it was stopped I copied all DLL's from the config folder of SuperOffice web to the bin foder of my test program, there was only one file locked (properly som lowlevel windows thing), then continued running and it worked. 

So now I have to find out what versions of all the packages I should use.

19 May 2026 | 01:31 PM

Hello everyone,

Is there a known solution to this problem? I'm getting the same error (“Missing dialect”) in a test app similar to the one described above under “Correct (minimal) C# code,” using SQL Server 2022, with all assemblies still overwritten from the SuperOffice bin directory.

P.S. 
services.AddSingleton in the example must be

26 May 2026 | 12:39 PM

Hello everyone,

I'm stuck on this problem.
I loaded all the necessary SuperOffice assemblies directly into the project references so that there would be no differences to SuperOffice compared to using NuGet.
I ran the tests on .NET 8.0, 9.0, and 10.0, and the error occurs in every version.

This is my code:

Here is my appsettings.json:


This is the error I get:

Can anyone help me?
Thanks in advance!

Best regards

 

22 h, 37 m ago | 10:58 AM

Hello! 

I think you should write to SuperOffice app development

Regards Martin

3 h, 9 m ago | 06:26 AM
I've already done that, and I was given a link to this thread as a suggested solution.
1 h, 50 m ago | 07:45 AM

Hello again. This was what I wrote when I had it working, but still needed to copy the Dll's:

string exepath = Path.GetDirectoryName(Application.ExecutablePath);
string appsettings = Path.Combine(exepath, "appsettings.json");
var config = new Microsoft.Extensions.Configuration.ConfigurationBuilder()
            .AddJsonFile(appsettings, false)
            .Build();

Services = new ServiceCollection();
Services.AddSingleton(config);
Services.AddNetServerCoreForAsyncLocalProcess(config);
Services.AddSoDatabase(config);

Provider = Services.BuildServiceProvider(true);
Provider.RegisterWithNetServer();
2 h, 58 m ago | 06:37 AM
I don't think you need the appsettings to include the database, the Services.AddSingleton(config); will make the app.config be read in. With all the database settings and so on.
2 h, 53 m ago | 06:43 AM

Add reply