Il formato della stringa di inizializzazione non è conforms alle specifiche a partire dall’indice 0

Ho un’applicazione ASP.Net che gira bene sul mio computer di sviluppo locale.

Quando eseguo questa applicazione online, mostra il seguente errore

Il formato della stringa di inizializzazione non è conforms alle specifiche a partire dall’indice 0

Controlla la tua stringa di connessione. Se hai bisogno di aiuto con esso controlla Stringhe di connessione , che ha un elenco di quelli comunemente usati.

Stringhe di connessione comunemente utilizzate:

SQL Server 2012

Sicurezza standard

Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword; 

Connessione fidata

 Server=myServerAddress;Database=myDataBase;Trusted_Connection=True; 

Connessione a un’istanza di SQL Server

La syntax del nome server / istanza utilizzata nell’opzione server è la stessa per tutte le stringhe di connessione di SQL Server.

 Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername; Password=myPassword; 

SQL Server 2005

Sicurezza standard

 Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword; 

Connessione fidata

 Server=myServerAddress;Database=myDataBase;Trusted_Connection=True; 

Connessione a un’istanza di SQL Server

La syntax del nome server / istanza utilizzata nell’opzione server è la stessa per tutte le stringhe di connessione di SQL Server.

 Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;Password=myPassword; 

MySQL

Standard

 Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; 

Specifica della porta TCP

 Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword; 

Oracolo

Utilizzando TNS

 Data Source=TORCL;User Id=myUsername;Password=myPassword; 

Usando la sicurezza integrata

 Data Source=TORCL;Integrated Security=SSPI; 

Utilizzando ODP.NET senza tnsnames.ora

 Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword; 

Impostare il progetto contenente la class DbContext come progetto di avvio.

Stavo ricevendo questo errore mentre chiamavo enable-migrations . Anche se nella Package Manager Console ho selezionato il giusto Default project , stava ancora guardando il file web.config di quel progetto di avvio, in cui la stringa di connessione non era presente.

Questo potrebbe aiutare qualcuno .. La mia password conteneva un punto e virgola quindi era di fronte a questo problema.Quindi ha aggiunto la password tra virgolette. E ‘stato davvero un errore stupido.

Ho cambiato il seguente:

  

a

  

Fare riferimento al percorso sp completo risolveva questo problema per me:

 var command = new SqlCommand("DatabaseName.dbo.StoredProcedureName", conn) 

Assicurati che la stringa di connessione sia in questo formato:

server = FOOSERVER; database = BLAH_DB; pooling = false; Connect Timeout = 60; Sicurezza integrata = SSPI;

Se alla tua stringa manca il tag del server il metodo tornerà indietro con questo errore.

Ciò accade anche quando si copia una pagina Web da una soluzione all’altra, quindi si esegue la soluzione e si scopre che ha un nome di stringa di connessione diverso nel webconfig. Quindi, incidentalmente, si modifica il nome della stringa di connessione nel pannello delle proprietà nella vista di progettazione della pagina.

Meglio cambiarlo semplicemente nella parte del codice anziché nel design.

Il mio problema è stato che ho aggiunto il codice di registrazione del database al mio costruttore per un object DB, e questo sembrava causare il caos sul mio profilo di distribuzione azure.

FYI – Ho semplificato questo esempio, nel codice reale questo è stato distriggersto in produzione (ma ancora nel codice)

 public class MyDB : DbContext { public MyDB() { this.Database.Log = x => { Debug.WriteLine(x); }; } } 

Ho avuto errori di battitura nella mia stringa di connessione “Database == PESitecore1_master”

  

Ho avuto lo stesso problema e alla fine sono riuscito a risolverlo nel modo seguente:

Il problema era nella definizione della stringa di connessione nel mio web.config.

  

Quanto sopra funzionava perfettamente localmente perché ho usato un Database locale quando gestivo utenti e ruoli. Quando ho trasferito la mia applicazione a IIS il DB locale non era più accessibile, inoltre vorrei usare il mio DB in SQL Server. Così cambio la stringa di connessione sopra il seguente equivalente di SQL Server DB:

  

NOTA: quanto sopra, inoltre, supponiamo che tu stia utilizzando lo stesso SQL Server dalla tua casella locale (nel caso in cui tu lo incorpori nel tuo web.config locale – questo è esattamente ciò che ho fatto nel mio caso).

Ho avuto lo stesso problema. A livello locale il sito funzionava bene, ma in azure non avrebbe funzionato con il messaggio sopra.

si scopre che il problema era impostare il connectiontring nel Ctor, in questo modo:

  public DatabaseContext() { Database.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["db"].ConnectionString; } 

NON funziona, questo:

  public DatabaseContext() : base("db") { } 

Mi batte ..

Ho risolto questo problema modificando la stringa di connessione nelle impostazioni di pubblicazione del mio ASP Web API ASP.NET.

Controlla la mia risposta su questo post: Come correggere l’errore :: Il formato della stringa di inizializzazione non è conforms alle specifiche a partire dall’indice 0 ::

Ho avuto lo stesso errore. Nel mio caso, questo era perché mi mancava una citazione di chiusura per la password nella stringa di connessione.

Modificato da questo

  

A

  

Ho avuto lo stesso problema, ho scoperto che la distribuzione su IIS non ha impostato correttamente le stringhe di connessione. erano ‘$ (ReplacableToken_devConnection-Web.config Connection String_0)’ durante la visualizzazione delle stringhe di connessione del sito in IIS, invece della stringa di connessione effettiva. Li ho aggiornati lì e tutto ha funzionato come previsto

Controlla la stringa di connessione come se mi dimentico di aggiungere services.AddDbContext(options => options.UseSqlServer("Default"));

Causa l’errore e qui quando aggiungo Configuration.GetConnectionString , quindi risolve il problema

come ora la connessione è:

 services.AddDbContext(options => options.UseSqlServer(Configuration.GetConnectionString("Default"))); 

funziona bene (Questo problema è risolto per .net core)