J'ai une application ASP.Net qui fonctionne bien sur ma machine de développement locale.
Lorsque j'exécute cette application en ligne, l'erreur suivante s'affiche.
Le format de la chaîne d'initialisation n'est pas conforme à la spécification commençant à l'index 0
Vérifiez votre chaîne de connexion. Si vous avez besoin d’aide, cochez la case Chaînes de connexion , qui contient la liste des chaînes les plus utilisées.
Chaînes de connexion couramment utilisées:
Sécurité standard
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
Connexion sécurisée
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
Connexion à une instance de SQL Server
La syntaxe de nom de serveur/instance utilisée dans l'option de serveur est la même pour toutes les chaînes de connexion SQL Server.
Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;
Password=myPassword;
Sécurité standard
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
Connexion sécurisée
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
Connexion à une instance de SQL Server
La syntaxe de nom de serveur/instance utilisée dans l'option de serveur est la même pour toutes les chaînes de connexion SQL Server.
Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;Password=myPassword;
Standard
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Spécification de TCP port
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Utilisation de TNS
Data Source=TORCL;User Id=myUsername;Password=myPassword;
Utilisation de la sécurité intégrée
Data Source=TORCL;Integrated Security=SSPI;
Utiliser ODP.NET sans 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;
Cela pourrait aider quelqu'un .. Mon mot de passe contenait un point-virgule et faisait donc face à ce problème.Ajoutez le mot de passe entre guillemets. C'était vraiment une erreur stupide.
J'ai changé le suivant:
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password=pass;Word" providerName="System.Data.SqlClient" />
à
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password='pass;Word'" providerName="System.Data.SqlClient" />
Définissez le projet contenant votre classe DbContext
en tant que projet de démarrage.
Je recevais cette erreur en appelant enable-migrations
. Même si dans le Package Manager Console
j'ai sélectionné le bon Default project
, il cherchait toujours le fichier web.config de ce projet de démarrage, où la chaîne de connexion n'était pas présente.
Assurez-vous que votre chaîne de connexion est dans ce format:
serveur= FOOSERVER; base de données = BLAH_DB; pooling = false; Délai de connexion = 60; Sécurité intégrée = SSPI;
Si votre chaîne ne contient pas la balise server
, la méthode renverra avec cette erreur.
Référencer le chemin d'accès complet à sp a résolu ce problème pour moi:
var command = new SqlCommand("DatabaseName.dbo.StoredProcedureName", conn)
Vérifiez votre chaîne de connexion comme si j'avais oublié d'ajouter services.AddDbContext<dbsContext>(options => options.UseSqlServer("Default"));
Cela provoque l’erreur et ici, lorsque j’ajoute Configuration.GetConnectionString
, alors le problème est résolu.
comme maintenant la connexion est:
services.AddDbContext<dbsContext>(options => options.UseSqlServer(Configuration.GetConnectionString("Default")));
fonctionne bien (Ce problème est résolu pour .net core)
J'ai eu la même erreur. Dans mon cas, c'était parce qu'il me manquait une citation de clôture pour le mot de passe dans la chaîne de connexion.
Changé de cette
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password='password" providerName="System.Data.SqlClient" />
À
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password='password'" providerName="System.Data.SqlClient" />
J'ai eu le même problème. Localement, le site fonctionnait bien, mais sur Azure, le message ci-dessus échouait.
s’avère que le problème était de placer la chaîne de connexion dans le ctor, comme ceci:
public DatabaseContext()
{
Database.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["db"].ConnectionString;
}
Ne fonctionne pas, cela va:
public DatabaseContext() : base("db")
{
}
Me bat..
J'ai résolu ce problème en modifiant la chaîne de connexion dans les paramètres de publication de mon API Web ASP.NET.
Vérifiez ma réponse à ce message: Comment corriger l'erreur :: Le format de la chaîne d'initialisation n'est pas conforme à la spécification commençant à l'index 0 ::
J'ai eu le même problème et j'ai finalement réussi à le résoudre de la manière suivante:
Le problème était dans la définition de la chaîne de connexion dans mon web.config.
<add name="DefaultConnection" connectionString="DefaultConnection_ConnectionString" providerName="System.Data.SqlClient"/>
Ce qui précède fonctionnait parfaitement localement car j’utilisais une base de données locale pour gérer les utilisateurs et les rôles. Lorsque j'ai transféré mon application sur IIS, la base de données locale n'était plus accessible. De plus, j'aimerais utiliser ma base de données dans SQL Server. Je modifie donc la chaîne de connexion ci-dessus avec l'équivalent de base de données SQL Server suivant:
<add name="DefaultConnection" connectionString="data source=MY_SQL_SERVER; Initial Catalog=MY_DATABASE_NAME; Persist Security Info=true; User Id=sa;Password=Mybl00dyPa$$" providerName="System.Data.SqlClient"/>
REMARQUE: Ce qui précède suppose également que vous utiliserez le même serveur SQL Server à partir de votre ordinateur local (au cas où vous l'incorporeriez dans votre web.config local - c'est exactement ce que j'ai fait dans mon cas).
J'avais une faute de frappe dans mes chaînes de connexion "Database == PESitecore1_master"
<add name="master" connectionString="user id=sa;password=xxxxx;Data Source=APR9038KBD\SQL2014;Database==PESitecore1_master"/>
Mon problème était que j'avais ajouté le code de journalisation de la base de données à mon constructeur pour un objet de base de données, ce qui semblait causer des dégâts sur mon profil de déploiement Azure.
FYI - J'ai simplifié cet exemple, dans le code réel, il était désactivé en production (mais toujours dans le code)
public class MyDB : DbContext
{
public MyDB()
{
this.Database.Log = x => { Debug.WriteLine(x); };
}
}
Cela se produit également lorsque vous copiez une page Web d’une solution à une autre, puis exécutez votre solution et découvrez qu’elle a un nom de chaîne de connexion différent dans le composant Webconfig. Ensuite, vous modifiez avec précaution le nom de la chaîne de connexion dans le panneau de propriétés de la vue Conception de la page.
Mieux vaut simplement le changer dans la partie code au lieu de la conception.
J'ai copié et collé la configuration de ma chaîne de connexion dans mon projet de test et j'ai commencé à rencontrer cette erreur. La chaîne de connexion a bien fonctionné dans mon projet WebAPI. Voici ma solution.
var connection = ConfigurationManager.ConnectionStrings["MyConnectionString"];
var unitOfWork = new UnitOfWork(new SqlConnection(connection.ConnectionString));
J'ai eu le même problème, est venu pour découvrir que le déploiement à IIS n'a pas défini les chaînes de connexion correctement. ils étaient "$ (ReplacableToken_devConnection-Web.config Connection String_0)" lors de l'affichage des chaînes de connexion du site dans IIS, à la place de la chaîne de connexion réelle. Je les ai mis à jour là-bas, et tout a fonctionné comme prévu
J'ai supprimé & quot à la fin de la chaîne de connexion et cela a fonctionné
Au lieu de
App=EntityFramework"
Utilisé
App=EntityFramework;
<add name="DefaultConnection" connectionString="data source=(local);initial catalog=NamSdb;persist security info=True;user id=sa;password=sa;MultipleActiveResultSets=True;App=EntityFramework;" providerName="System.Data.SqlClient" />
Remarque: Dans connectionString N'incluez pas:
| x | Informations sur les métadonnées: "métadonnées = res: // * /"
| x | Citations codées: "" "
Mon problème n'était pas que la chaîne de connexion que je fournissais était incorrecte ou que la chaîne de connexion dans le fichier app.config que je pensais utiliser était erronée, mais que j'utilisais le mauvais fichier app.config.