2010-11-17 12 views
10

Ho un progetto MS DataBase in Visual Studio: dopo aver eseguito un confronto schema, sto provando a generare uno script di distribuzione, il problema è che ottengo centinaia di errori di riferimenti non risolti, ad esempio come le due seguenti:Riferimenti non risolti nel progetto Microsoft Visual Studio SQL

Error 385 TSD03006: View: [auditing].[AuditedEntities] has an unresolved reference to object [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS]. D:\greatProject\Database\greatProject.Database\Schema Objects\Schemas\auditing\Views\AuditedEntities.view.sql 4 14 greatProject.Database 
Error 387 TSD03006: View: [auditing].[AuditedEntities] contains an unresolved reference to an object. Either the object does not exist or the reference is ambiguous because it could refer to any of the following objects: [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].[C]::[CONSTRAINT_NAME], [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].[CONSTRAINT_NAME] or [INFORMATION_SCHEMA].[TABLE_CONSTRAINTS].[C]::[CONSTRAINT_NAME]. D:\greatProject\Database\greatProject.Database\Schema Objects\Schemas\auditing\Views\AuditedEntities.view.sql 5 69 greatProject.Database 

lo sprocs mai hanno problemi quando corrono. C'è un modo rapido e sporco per risolvere questo problema? Forse anche spegnendo forse i controlli di integrità referenziale?

risposta

11

Ho aggiunto un riferimento al database principale per risolvere questo errore, che può essere ottenuto attraverso i seguenti passaggi.

  1. click Riferimenti proprio sotto il progetto di database
  2. Clicca Add Database Reference...
  3. Fare clic sul `schema di progetto di database pulsante
  4. Passare alla

    C (.dbschema): \ Program Files \ Microsoft Visual Studio 9.0 \ VSTSDB \ Extensions \ SqlServer \ 2008 \ DBSchemas \ master.dbschema

  5. Fare clic su OK

La seguente domanda è correlata. ASP.NET Schema Tables Causing Issues in VSTS

+2

Questa risposta non ha funzionato per il mio ambiente (VS 2013); il percorso descritto non esisteva. La risposta di stakx ha funzionato per me. –

21

Nel progetto di database manca un riferimento al database master.

Supponendo che si sta parlando di un progetto SQL Server Data Tools (SSDT) database, è possibile aggiungere il riferimento mancante come segue:

  1. In Esplora soluzioni, aprire il menu contestuale sulle Riferimenti nodo e selezionare Aggiungi database di riferimento ... da esso:

    Add database reference via Solution Explorer

  2. Nella parte superiore della finestra di dialogo di apertura, selezionare l'opzione database di sistema e scegliere master dall'elenco a discesa.

    Select the System database <code>master</code>

  3. Infine, premere il tasto OK. Il riferimento del database dovrebbe ora essere aggiunto al tuo progetto.

+0

Questo funziona. La stessa risposta è data da Microsoft qui: https://connect.microsoft.com/SQLServer/feedback/details/787152/ssdt-intellisense-does-not-recognize-system-extended-procedures-like-sp-executesql-or -sp-xml-preparedocument –

+0

Cosa succede se il riferimento è ad un altro database esistente che ha il proprio progetto al di fuori della soluzione? Se aggiungo un riferimento come .dacpac, anche l'altro database verrà aggiornato? – Muflix

+0

@Muflix: ti suggerisco di postare questo come una domanda separata. – stakx

Problemi correlati