2012-11-16 13 views
6

Possiedo un'applicazione WinForms che utilizza LocalDb. Naturalmente sul mio box di sviluppo, questo funziona bene. Quando si distribuisce l'applicazione in un'altra casella, viene visualizzato il seguente messaggio di errore:È possibile creare un'istanza di LocalDb denominata in modo programmatico?

"Un errore di rete o specifico dell'istanza si è verificato durante la creazione di una connessione a SQL Server."

Ho affrontato molti dei post su Stackoverflow su questo problema, la maggior parte sembra correlata alla stringa di connessione.

Uno dei problemi che ho riscontrato è che nella mia casella di sviluppo, ho avviato un'istanza LocalDb denominata. Sul mio obiettivo di installazione, eseguo l'MSI di installazione LocalDb.

Per l'istanza installata, esiste un modo per creare un'istanza di LocalDb denominata in modo programmatico o un modo per connettersi all'istanza LocalDb predefinita?

È possibile creare un'istanza di LocalDb denominata in modo programmatico?

Oppure posso creare una stringa di connessione che può essere utilizzata per aprire il mio database LocalDb utilizzando (localdb) \ v11.0;

Sto anche utilizzando DbContext nello sviluppo - di nuovo nella finestra di sviluppo, LocalDb e DbContext funzionano bene. L'utilizzo di DbContext e EF influisce sulla stringa di connessione LocalDb sulla casella di destinazione?

risposta

4

Ci sono due modi in realtà:

  1. LocalDBCreateInstance funzione dal LocalDB API, per codice nativo C/C++ e attraverso PInvoke
  2. system.data.localdb/localdbinstances element in app.config dell'applicazione (applicazioni .NET solo, richiede .NET 4.0.2 o successive)
+0

Krztsztof - grazie mille! - Sembra anche che abbia bisogno di includere .Net 4.5 nell'installazione per supportare questo .. –

+0

Corretto, se vuoi andare con l'app.config hai bisogno di .NET 4.0.2 o successivo –

+0

Grazie Krzysztof - Saresti in grado di indicarmi un esempio app.config per LocalDb? Sembra che ho risolto questo problema, ma sto riscontrando un errore "valore chiave non valido per AttachDbFilename" –

Problemi correlati