Comment corriger l'erreur:le Format de la chaîne d'initialisation n'est pas conforme à la spécification de départ à l'indice 0::

j'ai téléchargé mon site sur godaddy partagé hôte. J' peuvent accéder à cette base de données à partir de mon management studio. I ne peut pas accéder cette base de données à partir de mon site. J'obtiens l'erreur suivante:

Le Format

de la chaîne d'initialisation n'est pas conforme aux spécifications à partir de l'index 0.

ma chaîne de connexion est dans web.config et il ressemble à ceci:

<connectionStrings>
    <add name="mcn" connectionString="Data Source=mydatabase.db.8706856.hostedresource.com; Initial Catalog=mydatabase; User ID=username; Password=xyz;" providerName="System.Data.SqlClient" />    
</connectionStrings>

Quelle est la cause de cette erreur? J'ai aussi essayé d'écrire ...Data Source=(local);...

13
demandé sur gunr2171 2012-01-28 01:22:40

15 réponses

il pourrait être utile de voir ce qu'est la chaîne de connexion réelle. Ajouter au Mondial.asax:

throw new Exception(ConfigurationManager.ConnectionStrings["mcn"].ConnectionString);

si la chaîne de connexion réelle est $(ReplacableToken_mcn-Web.config Connection String_0) , cela expliquerait le problème.

17
répondu Michael Liu 2012-01-27 23:38:10

je faisais face au même problème et j'ai découvert que ma chaîne de connexion avait un caractère double citation supplémentaire au milieu de la chaîne de connexion.

5
répondu dotNET 2012-09-18 23:47:46

j'appelais à l'origine la chaîne de connexion comme indiqué ci-dessous (VB.NET) et a obtenu la mention de l'erreur

 Using connection As New SqlConnection("connectionStringName") 
  '// more code would go here...
 End Using

ajouter une référence au système.Configurer et mettre à jour mon code comme indiqué ci-dessous était ma solution. La chaîne de connexion n'était pas le problème puisque d'autres contrôles l'ont utilisée sans aucun problème (SqlDataSource)

Using connection As New SqlConnection(ConfigurationManager.ConnectionStrings("connectionStringName").ConnectionString)
    '// more code would go here...
End Using
3
répondu Geovani Martinez 2013-07-03 15:12:15

j'ai eu cela dans VS2015 et mon correctif était de changer la première ligne dans mon WebConfig de

<?xml version="1.0" encoding="utf-8"?>

à

<?xml version="1.0"?>

curieux.

2
répondu sobelito 2015-09-25 09:05:46

j'avais le même problème en accédant à une publication ASP.NET Web Api. Dans mon cas, j'ai réalisé que lorsque j'étais sur le point de publier l'Api Web, Je n'avais pas indiqué de chaîne de connexion dans la section Bases de données:

After using the three dot button, the connection string will be displayed on the text field to the left

donc je l'ai généré en utilisant le bouton à trois points, et après la publication, ça a marché.

ce qui est bizarre, c'est que pendant longtemps je suis assez sûr que il n'y avait pas de chaîne de connexion dans cette configuration, mais il fonctionnait toujours.

2
répondu ndarriulat 2017-05-14 15:16:41

un autre inconvénient est que connectionString se réfère parfois au nom de la chaîne de connexion dans l'application/web-config et parfois à la chaîne de connexion elle-même et vice versa.

très facile à fixer mais parfois difficile à repérer.

1
répondu Jonas Stensved 2013-12-30 12:13:39

dans mon cas, le coupable était le point-virgule et les guillemets dans le mot de passe pour prod DB. Notre équipe informatique utilise un outil pour générer des mots de passe, donc il a généré un avec le point-virgule et les guillemets La chaîne de connexion ressemble à

<add key="BusDatabaseConnectionString" value="Data Source=myserver;Initial Catalog=testdb;User Id=Listener;Password=BlaBla"';[]qrk/>

a changé le mot de passe et ça a marché.

1
répondu Manish 2017-08-24 20:41:26

Mon problème était que mon web.le fichier de configuration contenait une référence à une connexion de modèle d'entité supprimée, donc vérifiez qu'il n'y a pas de chaînes de connexion périmées.

0
répondu kravits88 2012-12-13 01:47:49

j'ai obtenu au-dessous de l'erreur en essayant de lancer l'application:

Le Format

de la chaîne d'initialisation n'est pas conforme aux spécifications à partir de l'index 57.

et pendant mes recherches j'ai trouvé cette pile et j'ai pu corriger cette erreur en regardant le fichier de configuration web et j'ai trouvé qu'il y avait une chaîne supplémentaire dans passowrd. Une fois que j'ai enlevé la chaîne, j'ai pu accéder au site web sans aucune erreur.

0
répondu user3320382 2014-02-17 18:40:48

j'obtenais cette exception, Je l'ai corrigée en ajoutant throwIfV1Schema: false à mon constructeur DbContext:

public class AppDb : IdentityDbContext<User>
{
    public AppDb()
        : base("DefaultConnection", throwIfV1Schema: false)
    {
    }
}
0
répondu 4castle 2014-12-10 01:11:19

pour toute personne qui trébuche sur ce fil en essayant de corriger cette même erreur qui résulte en exécutant Enable-Migrations , il y a des chances qu'aucune des solutions ci-dessus ne vous aidera (je les ai toutes essayées).

j'ai rencontré ce même problème dans L'API Web 2 après l'avoir lancé dans PM console:

Enable-Migrations -EnableAutomaticMigrations -ConnectionString IdentityConnection -ConnectionProviderName System.Data.SqlClient -Force

Je l'ai fixé en le changeant pour réellement utiliser le ApplicationDbContext créé dans IdentityModels .

Enable-Migrations -ContextTypeName ApplicationDbContext -EnableAutomaticMigrations -Force

l'intéressant la chose n'est pas seulement cette référence à la même chaîne de connexion exacte, mais le constructeur inclut le code que 4castle a dit être un correctif potentiel (i.e., la suggestion throwIfV1Schema: false ).

notez que le paramètre -Force n'est utilisé que parce que le fichier Configuration.cs existe déjà.

0
répondu Dave Conley 2016-06-11 16:42:21

j'ai perdu 1,5 jours de travail sur cette erreur et à la fin un collaborateur a résolu le problème en remplaçant le code D'utilisateur par Uid et mot de passe par Pwd. La chaîne de connexion Mise à jour pour .Net était l'erreur pour moi

0
répondu Maham Khan 2016-07-18 10:29:29

aucune des solutions énumérées dans ce fil n'a fonctionné pour moi. J'ai commencé à recevoir cette erreur après avoir fait quelques changements à la section des chaînes de connexion du web.fichier de configuration. (Mon application se connecte à plusieurs bases de données.) J'ai soigneusement examiné les changements que j'avais faits sont réalisés j'avais enlevé l'étiquette en haut de ma liste. J'ai restauré la balise en haut de ma liste de chaînes de connexion et le problème a disparu immédiatement. Ce site qui recevait l'erreur est une application qui réside sous le site principal ( ) https://www.domain.org/MySite ). Cela pourrait ne pas résoudre le problème pour tout le monde, mais il n'a résoudre le problème pour moi.

0
répondu George McKee 2016-07-20 20:40:21

une simple citation non désirée était mon problème. La vérification de la chaîne de connexion à partir de l'emplacement de l'indice mentionné dans la chaîne d'erreur m'a aidé à repérer le problème.

0
répondu Kirsten Greed 2017-07-25 01:55:30

si vous utilisez EF et publiez des profils, vous pouvez avoir une entrée vierge de chaîne de connexion dans votre profil de publication. Ennuyeux mais tout à fait possible.

0
répondu Mike Devenney 2017-10-03 12:33:09