01f78466df
- Aggiunta persistenza campi ODBC (OdbcDsnName, OdbcMode) in CredentialEntity - Creata migration EF Core per nuovi campi database - Aggiornato mapping credenziali per caricare/salvare dati ODBC - Creato OdbcDatabaseManager dedicato (bypass EF Core che non supporta ODBC) - Aggiornato DataConnectionFactory per usare OdbcDatabaseManager con connessioni ODBC - Fix auto-load DSN: sostituito @onchange con @bind-Value:after in dropdown tipo database - Fix test connessione SAP HANA: rimossa query SELECT 1 che causava errori sintassi - Implementati tutti i metodi IDatabaseManager in OdbcDatabaseManager - Supporto completo per discovery schema, tabelle e query ODBC Risolve problema DbContext non configurato per ODBC e abilita connessioni ODBC complete.
32 lines
1.3 KiB
C#
32 lines
1.3 KiB
C#
using System;
|
|
using DataConnection.EF.SchemaProviders;
|
|
using DataConnection.Enums;
|
|
using DataConnection.Interfaces;
|
|
|
|
namespace DataConnection.EF;
|
|
|
|
/// <summary>
|
|
/// Factory per la creazione di provider di schema del database
|
|
/// </summary>
|
|
public class DatabaseSchemaProviderFactory
|
|
{
|
|
/// <summary>
|
|
/// Crea un provider di schema in base al tipo di database
|
|
/// </summary>
|
|
/// <param name="databaseType">Tipo di database</param>
|
|
/// <returns>Provider di schema appropriato</returns>
|
|
public static IDatabaseSchemaProvider CreateProvider(DatabaseType databaseType)
|
|
{
|
|
return databaseType switch
|
|
{
|
|
DatabaseType.SqlServer => new SqlServerSchemaProvider(), DatabaseType.Odbc => new OdbcSchemaProvider(), // Aggiungere qui altri provider quando implementati
|
|
// DatabaseType.MySql => new MySqlSchemaProvider(),
|
|
// DatabaseType.PostgreSql => new PostgreSqlSchemaProvider(),
|
|
// DatabaseType.Oracle => new OracleSchemaProvider(),
|
|
// DatabaseType.Sqlite => new SqliteSchemaProvider(),
|
|
// DatabaseType.DB2 => new DB2SchemaProvider(),
|
|
// DatabaseType.SapHana => new SapHanaSchemaProvider(),
|
|
_ => throw new NotSupportedException($"Tipo di database non supportato per l'estrazione dello schema: {databaseType}")
|
|
};
|
|
}
|
|
} |