Accesso ai dati in un altro database all'interno di un nuovo progetto

1

Attualmente utilizziamo un sistema ERP standard. Manca in diverse aree, una delle quali sta citando. Quindi, sono stato incaricato di creare un'applicazione di quotazione che dovrà utilizzare i dati (in sola lettura) dal sistema ERP. Il database ERP è memorizzato sul nostro server locale (Windows Server 2012) in SQL Server 2014. Eventualmente l'applicazione di quotazione risiederà sullo stesso server (sia il database che l'app Web).

Ho intenzione di creare l'applicazione in ASP.NET MVC 5 tramite Visual Studio 2013. Utilizzerò il codice prima di sviluppare l'applicazione di quotatura. Userò prima il database per recuperare le classi per il database esistente.

Durante la creazione di query, dovrò unirmi alle tabelle ERP con le nuove tabelle di quoting. Quindi, suppongo che avrò bisogno di un contesto di dati.

Il mio vero problema è come distribuire questa applicazione. Fondamentalmente non ho bisogno di distribuire il database ERP, perché è già lì. Ho bisogno di distribuire il database quoting e l'applicazione.

Vorrei ottenere il mio piano di attacco prima di entrare in esso e rendermi conto che ho bisogno di fare cose completamente diverse. Sono un po 'nuovo a Visual Studio e MVC e non ho mai distribuito un progetto. Qualche idea su come realizzare quanto sopra, incluso il problema del contesto dei dati?

    
posta Linger 04.08.2016 - 15:01
fonte

2 risposte

3

Vorrei creare un nuovo DB per la mia app Quoting, quindi creare viste SQL per portare i dati ERP in quel DB e agire come oggetti locali.

Con il server SQL puoi creare la vista in tempo reale di Cross DB.

Select * from ERP.dbo.Customers

La cosa bella di questo è che se aggiorni il sistema ERP e la struttura dei dati cambia, tutto ciò che devi fare è aggiornare le tue visualizzazioni per trasformare il nuovo modello in quello originale e Quoting APP continua a funzionare.

Anche se si ritira l'intero ERP e alcuni sistemi cloud, è possibile sostituire le viste con i dati della tabella e dell'ETL effettivi.

Ora la tua APP utilizza solo un singolo db e il tuo problema di contesto scompare.

    
risposta data 05.08.2016 - 01:41
fonte
0

Quotare l'applicazione sembra un pezzo logico mancante dal tuo ERP. Inoltre, sicuramente per i dati master la tua applicazione di quotazione si baserà molto sul database ERP.

Quindi suggerirò di creare uno schema logico per quotare un'applicazione nella stessa istanza di database. Pertanto, se ERP utilizza lo schema predefinito dbo , la citazione degli oggetti dati dell'applicazione può essere eseguita nello schema quote . Questo ti darà una buona separazione logica, ma non avrà alcun effetto negativo su nessuna delle query sul lato della codifica, non hai bisogno di gestire due stringhe di connessione diverse o trattare con due diverse istanze di dati.

    
risposta data 14.08.2016 - 16:35
fonte

Leggi altre domande sui tag