web-dev-qa-db-fra.com

Mot clé non pris en charge: «serveur»

J'ai essayé de modifier ma chaîne de connexion pour télécharger mon site Web sur un serveur.
Je n'ai pas vraiment d'expérience avec cela. J'ai eu cette exception: le mot clé n'est pas pris en charge: "serveur".
Voici ma chaîne de connexion:

<add name="AlBayanEntities" connectionString="Server=xx.xx.xxx.xxx,xxxx;Database=AlBayan;Uid=bayan;Password=xxxxx;" providerName="System.Data.EntityClient" />

J'ai essayé d'intégrer cette chaîne dans mon ancienne chaîne de connexion qui fonctionne très bien localement, mais elle ne convenait pas: S

28
Evanescence

Pour Entity Framework (base de données en premier ou modèle en premier; lorsque vous avez un fichier de modèle EDMX physique), vous devez utiliser un type spécial de chaîne de connexion qui est assez différent des chaînes de connexion ADO.NET directes que tout le monde a mentionnées jusqu'à présent. ..

La chaîne de connexion doit ressembler à:

<add name="testEntities" 
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(local);initial catalog=test;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

À l'intérieur de cette chaîne de connexion, vous trouverez le provider connection string= attribut qui est essentiellement votre chaîne de connexion ADO.NET:

provider connection string=&quot;data source=(local);initial catalog=test;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" 

Donc ici, vous devez changer le nom de votre serveur et éventuellement d'autres paramètres.

  • data source=.... représente votre serveur (vous pouvez également utiliser server=.....)
  • initial catalog=..... représente votre base de données (vous pouvez également utiliser database=....)
31
marc_s

Dans MVC5 en utilisant EntityFramework 6.xx et Code First Approach

J'ai eu le même problème et je l'ai résolu en modifiant mon providerName

de

 providerName="System.Data.EntityClient"

à

providerName="System.Data.SqlClient"
9
WasiF

J'exécute toujours un assistant de connexion pour créer ma chaîne ou j'utilise connectionstrings.com .

En supposant que SQL Server:

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

Comparé au vôtre, c'est très différent.

Server=xx.xx.xxx.xxx,xxxx;Database=AlBayan;Uid=bayan;Password=xxxxx;
3
ErikE

Cette exception est levée sur les sites Web Azure lorsque vous stockez la chaîne de connexion dans l'App Service lui-même (sur le panneau "Paramètres d'application").

Si la chaîne de connexion est une chaîne de connexion Entity Framework, les guillemets seront codés comme &quot; par défaut dans votre fichier web.config.

Vous devez les reconvertir en guillemets réels afin que la chaîne de connexion puisse être analysée correctement.

1
Baldy

Essaye ça

<add name="AlBayanEntities" connectionString="Data Source=xx.xx.xxx.xxx,xxxx;Initial Catalog=AlBayan;User Id=bayan;Password=1abcd;" providerName="System.Data.EntityClient" />
1
Saanch

La même chose m'est arrivée lors de l'utilisation de Rider IDE pour un projet .net core 2.2. Comme Rider configure automatiquement Sqlite dans Startup.cs dans la méthode "ConfigureServices".

En changeant

services.AddDbContext<ApplicationDbContext>(options =>
    options.**UseSqlite**(
        Configuration.GetConnectionString("DefaultConnection")));

dans

services.AddDbContext<ApplicationDbContext>(options =>
    options.**UseSqlServer**(
        Configuration.GetConnectionString("DefaultConnection")));

le problème a été résolu. Bien sûr, vous devez d'abord installer des packages de nuget pour EF SQLServer et ajouter la chaîne de connexion à appsettings.json.

1
Vitas

Dans mon cas, j'ai trouvé que mon projet avait le paquet de nuget EFSQLLite installé, qui ne semble pas reconnaître le Server= mot-clé. J'ai désinstallé ce nuget et installé le EFSQLSERVER complet, et cela a bien fonctionné

0
Mocas
EntityConnectionStringBuilder bb = new EntityConnectionStringBuilder();
bb.Metadata = "res://*/dao.bdmi.csdl|res://*/dao.bdmi.ssdl|res://*/dao.bdmi.msl";

//same as below client tobe used
bb.Provider = "MySql.Data.MySqlClient";
MySql.Data.MySqlClient.MySqlConnectionStringBuilder mbb = new MySql.Data.MySqlClient.MySqlConnectionStringBuilder();
mbb.Server = "";
mbb.Database = "";
mbb.UserID = "";
mbb.Password = "";
mbb.PersistSecurityInfo = true;


//use providerconnectionstring insted of connectionstring
bb.ProviderConnectionString = mbb.ToString();
return bb.ToString();

De cette façon, vous pouvez modifier votre ConnectionString comme vous le souhaitez.

0
TRY