Correzione selezione database/schema nell'interfaccia Data Coupler
- Implementato discovery intelligente database vs schemi per ogni DBMS - Aggiornate query SQL per mostrare solo database effettivi (non ruoli/schemi di sistema) - Aggiunta UI modal per selezione database con riconnessione automatica - Aggiunta UI modal fallback per selezione schema quando necessario - Migliorate query discovery per SQL Server, PostgreSQL, MySQL e Oracle - Implementata logica di riconnessione automatica al database selezionato - Aggiornati testi e descrizioni dell'interfaccia per maggiore chiarezza - Gestione prioritaria: database disponibili fallback su schemi se necessario Fixes: Menu selezione mostrava ruoli invece dei database reali
This commit is contained in:
@@ -1155,7 +1155,7 @@
|
||||
<div class="modal-body">
|
||||
<p class="text-muted">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
Il server non ha un database predefinito. Seleziona il database su cui eseguire le operazioni:
|
||||
Sono stati trovati più database nel server. Seleziona il database da utilizzare:
|
||||
</p>
|
||||
|
||||
@if (availableDatabases != null && availableDatabases.Any())
|
||||
@@ -1169,6 +1169,10 @@
|
||||
<option value="@db">@db</option>
|
||||
}
|
||||
</select>
|
||||
<small class="form-text text-muted">
|
||||
<i class="fas fa-lightbulb"></i>
|
||||
Il database determina quali tabelle e viste saranno disponibili per il mapping.
|
||||
</small>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
@@ -1185,7 +1189,70 @@
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary" @onclick="OnDatabaseSelected"
|
||||
disabled="@string.IsNullOrEmpty(selectedDatabase)">
|
||||
<i class="fas fa-check"></i> Conferma
|
||||
<i class="fas fa-check"></i> Connetti al Database
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<!-- Modal per la selezione dello schema -->
|
||||
@if (showSchemaSelectionModal)
|
||||
{
|
||||
<div class="modal fade show d-block" style="background-color: rgba(0,0,0,0.5);">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">
|
||||
<i class="fas fa-sitemap"></i> Seleziona Schema
|
||||
</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p class="text-muted">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
Sono stati trovati più schemi nel database. Seleziona lo schema da utilizzare:
|
||||
</p>
|
||||
|
||||
@if (isLoadingSchemas)
|
||||
{
|
||||
<div class="text-center">
|
||||
<div class="spinner-border spinner-border-sm me-2"></div>
|
||||
Caricamento schemi...
|
||||
</div>
|
||||
}
|
||||
else if (availableSchemas != null && availableSchemas.Any())
|
||||
{
|
||||
<div class="mb-3">
|
||||
<label for="schemaSelect" class="form-label">Schemi disponibili:</label>
|
||||
<select id="schemaSelect" class="form-select" @bind="selectedSchema">
|
||||
<option value="">-- Seleziona uno schema --</option>
|
||||
@foreach (var schema in availableSchemas)
|
||||
{
|
||||
<option value="@schema">@schema</option>
|
||||
}
|
||||
</select>
|
||||
<small class="form-text text-muted">
|
||||
<i class="fas fa-lightbulb"></i>
|
||||
Lo schema determina quali tabelle e viste saranno disponibili per il mapping.
|
||||
</small>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="alert alert-warning">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
Nessuno schema trovato o errore nel caricamento.
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" @onclick="CancelSchemaSelection">
|
||||
<i class="fas fa-times"></i> Annulla
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary" @onclick="OnSchemaSelected"
|
||||
disabled="@string.IsNullOrEmpty(selectedSchema)">
|
||||
<i class="fas fa-check"></i> Connetti con Schema
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user