Domanda

Sto provando ad aggiungere alcune procedure memorizzate a un processo di compilazione in Visual Studio (usando MSBuild).

Ho aggiunto un progetto di database (* .dbp) alla mia soluzione, tuttavia a differenza di altri progetti di database disponibili in VS non riesco a crearlo o eseguirlo. (Credo che questo sia il file di progetto che desidero mentre sto usando SQL2000)

Come posso far funzionare gli script SQL mentre costruisco il progetto? Posso eseguire gli script facendo clic con il tasto destro e premendo Esegui.

È stato utile?

Soluzione

I progetti di database non sono costruiti come i normali progetti. Se vuoi eseguire script all'interno di questo progetto, il mio consiglio sarebbe di estendere i progetti associati che sono compatibili con MSBuild (csproj, vbproj, ecc.) E fare riferimento / eseguire i tuoi script da lì usando il tuo strumento preferito.

Il modo in cui lo implementi dipende da te, ad esempio, potresti collegarti a BeforeBuild scegli come target ed esegui script utilizzando SqlExecute .

FWIW, dobbiamo supportare SQL Server 2000, 2005, 2008+, quindi l'attività diventa molto più difficile; pensa a NVarchar (max) (2005+) vs NText (2000+) più tutti i nomi sp, ecc. tra le versioni. Volevamo anche un singolo script utilizzato da sviluppatori, QA e installer per garantire coerenza. Quindi il nostro approccio è stato uno strumento personalizzato che ha consentito la sostituzione di token / parole chiave all'interno di script, che offre flessibilità tra diverse versioni di SQL Server e installazioni dei clienti (ad es. Dettagli utente / login, nomi db), nonché l'integrazione in varie tecnologie in modo che gli script possano essere eseguiti da riga di comando, MSBuild, azione personalizzata MSI utilizzando progetti Wix o qualsiasi altra cosa di cui abbiamo bisogno per eseguirli.

Altri suggerimenti

È possibile creare progetti di database.

Non possono essere eseguiti: possono essere implementati.

Durante la distribuzione, il progetto viene compilato e quindi distribuito. Il codice verrà distribuito insieme agli script Pre-Build e Post-Build e agli script Pre-Deployment e Post-Deployment.

Quindi, se vuoi che gli script vengano eseguiti mentre COSTRUISCI il progetto, vuoi esaminare gli eventi Pre-Build e Post-Build sotto Build nelle proprietà del Progetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top