Connessione ODBC rilevata
Per le connessioni ODBC, il discovery automatico delle tabelle non è disponibile.
Procedi direttamente con l'inserimento di una query SQL custom nella sezione sottostante.
Controlli di Sicurezza Attivi:
• Solo query SELECT sono permesse
• Operazioni come INSERT, UPDATE, DELETE, DROP sono bloccate
• Query multiple separate da ; non sono consentite
• La query verrà automaticamente ottimizzata per il trasferimento dati
Scegli se selezionare una tabella o scrivere una query SQL personalizzata
@if (useCustomQuery)
{
Query SQL Custom:
Controlli di Sicurezza Attivi:
• Solo query SELECT sono permesse
• Operazioni come INSERT, UPDATE, DELETE, DROP sono bloccate
• Query multiple separate da ; non sono consentite
• La query verrà automaticamente ottimizzata per il trasferimento dati
Nessuna tabella trovata con il termine di ricerca "@databaseSearchTerm"
}
}
}
}
@if (selectedSourceType == "file")
{
Due modalità disponibili:
Caricamento Browser: Carica un file per preview e configurazione mapping (file temporaneo)
Percorso File: Specifica il percorso completo del file sul server per schedulazioni
@if (!string.IsNullOrEmpty(selectedFileName))
{
File caricato: @selectedFileName
}
Carica un file per vedere preview e configurare il mapping. Questo file non verrà salvato.
@if (!string.IsNullOrEmpty(uploadedFilePath) && uploadedFilePath == manualFilePath)
{
File validato e caricato con successo!
}
Inserisci il percorso completo del file. Il file deve essere accessibile dal server.
@if (isProcessingFile)
{
Elaborazione file in corso...
}
@if (!string.IsNullOrEmpty(fileErrorMessage))
{
@fileErrorMessage
}
@if (fileSheets.Any())
{
@{
var fileExtension = Path.GetExtension(selectedFileName).ToLowerInvariant();
var isExcel = fileExtension == ".xlsx" || fileExtension == ".xls";
var fileTypeIcon = isExcel ? "fa-file-excel text-success" : "fa-file-csv text-info";
var fileTypeName = isExcel ? "Excel" : "CSV";
}
Record @GetStartRecord()-@GetEndRecord() di @fileData[selectedSheet].Count
@currentPage di @GetTotalPages(selectedSheet)
@if (fileSheets.ContainsKey(selectedSheet))
{
#
@foreach (var column in fileSheets[selectedSheet])
{
@column
}
@{
var dataToShow = GetCurrentPageData();
var startRecord = GetStartRecord();
}
@for (int i = 0; i < dataToShow.Count; i++)
{
var row = dataToShow[i];
var absoluteRowIndex = startRecord + i;
Relating Records by External ID
Crea relazioni tra oggetti usando ID esterni invece degli ID interni di Salesforce.
Esempio: Collega Opportunity ad Account usando Account.CardCode__c = "C60000"
Ogni valore di chiave univoco viene associato a un record di destinazione
Più sorgenti diverse possono gestire lo stesso oggetto business usando lo stesso valore chiave
Gli aggiornamenti avvengono automaticamente quando si trova un'associazione esistente
Il sistema individua automaticamente le chiavi dove possibile, ma puoi sempre scegliere manualmente
@if (requiresManualKeySelection || selectedSourceType != "database")
{
Selezione del campo chiave obbligatoria. Scegli un campo che identifichi univocamente ogni record.
}
else if (!string.IsNullOrEmpty(suggestedPrimaryKey))
{
Primary Key rilevata: @suggestedPrimaryKey (consigliato per l'identificazione univoca)
}
@if (!string.IsNullOrEmpty(sourceKeyField))
{
Campo chiave selezionato: @sourceKeyField
Questo campo verrà utilizzato per identificare univocamente i record sorgente
@if (sourceKeyField == suggestedPrimaryKey)
{
Ottima scelta! Stai usando la Primary Key della tabella.
}
}
else
{
Campo chiave richiesto Seleziona un campo che identifichi univocamente ogni record per abilitare il sistema di associazioni.
@if (!string.IsNullOrEmpty(suggestedPrimaryKey))
{
Consiglio: seleziona @suggestedPrimaryKey (Primary Key rilevata)
}
}
}
else
{
Sistema associazioni disabilitato
Tutti i record verranno sempre inseriti come nuovi. Non sarà possibile tracciare aggiornamenti automatici.