Domanda

Sto lavorando su un'applicazione WinForms desktop che ha bisogno di memorizzare i dati. Ho preso la decisione davvero male per cercare di incorporare un database. Ho provato:

  • SQLite
  • VistaDB
  • SQL Server Compact

In ogni caso, sono stato in grado di generare un modello Entity Framework sullo schema di base che ho creato. Ho un evento che aggiunge dati che ho usato per testare questi database.

Bene, ho mantenuto l'aggiunta di un nuovo record utilizzando EF e trovandolo in realtà non inserire un record. In debug, ho controllato l'oggetto contesto per vedere cosa stava succedendo. Si scopre che si sta dicendo "il provider sottostante è riuscito ad aprire," o qualcosa in tal senso. Non era un'eccezione, non solo l'inserimento di un record.

La stessa cosa è avvenuta per tutti e 3 i database incorporati -. Mi spinge a farlo attraverso la mia testa denso che ci deve essere qualcosa di sbagliato con la mia configurazione

Bene, ho provato a scrivere qualche sql di base utilizzando uno SQLConnection e SqlCommand. Questa volta viene generata un'eccezione. Nel caso di SQL Server Compact, ora dice:

Si è verificato un errore esempio specifico relativo alla rete o mentre stabilisce una connessione a SQL Server. Il server non è stato trovato o non era accessibile. Verificare che il nome dell'istanza sia corretto e che SQL Server è configurato per consentire le connessioni remote. (Provider: Interfacce di rete SQL, errore: 26 - Errore del server / dell'istanza specificato)

Ho pensato che forse un problema è stato il percorso in app.config. Così ho cambiato la stringa di connessione:

Si noti che ho semplificato il percorso lontano da tutto ciò che potrebbe avere spazi ed evitato di usare le sciocchezze directory dei dati che causa problema quando la directory di debug non corrisponde al valore preimpostato per la directory dei dati. Sono in esecuzione Windows 7; Ho pensato che forse potrebbe essere un problema di accesso - così ho provato a fare funzionare VS 2010 in modalità Amministratore. Senza fortuna. Inoltre ho installato SQL Server Compact SP2, pensando che questo potrebbe essere un bug. Nessuna fortuna.

In ogni caso, io sono pronto a tirare fuori i miei capelli. Sono su una scadenza stretta per questa cosa e non mi aspettavo di trascorrere la giornata a cercare di capire cosa sta succedendo.

È stato utile?

Soluzione

Usa SqlCeConnection

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