使用Entity Framework连接字符串与Azure SQL数据库的System.Data.SqlClient.SqlException

时间:2018-05-17 13:43:13

标签: c# asp.net entity-framework azure-sql-database

我已经托管了我的Web应用程序,该应用程序首先使用实体​​框架.EDMX来使用数据库。我有以下连接字符串。

<add name="Entities" 
     connectionString="metadata=res://*/FdaSecOpsModel.csdl|res://*/FdaSecOpsModel.ssdl|res://*/FdaSecOpsModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=....database.windows.net,1433;initial catalog=DEV01;integrated security=True;User ID=username;Password=password;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

我得到的错误是:

  

System.Data.Entity.Core.EntityException:底层提供程序在Open上失败。 ---&GT; System.Data.SqlClient.SqlException:此版本的SQL Server不支持Windows登录。

任何人都可以帮助我,我在这里做错了吗?以前,连接字符串与SQL Server一起使用。

已更新:我已删除Integrated Security = true;,现在我收到以下错误:

  

System.ArgumentException:不支持关键字:'metadata'。

根据最后一条评论进行更改后,但收到的错误为:

  

System.Data.Entity.Core.MetadataException:无法加载指定的元数据资源。

由于

1 个答案:

答案 0 :(得分:0)

不要使用集成安全性并将您用作登录时创建Azure SQL数据库逻辑服务器或创建new database user时指定的服务器管理员。您的连接字符串应如下所示:

<add name="MyEntities"
connectionString="metadata=res://*/App_Code.Model.csdl|res://*/App_Code.Model.ssdl|
res://*/App_Code.Model.msl;provider=System.Data.SqlClient;
provider connection string='Data Source=my.database.windows.net;
Initial Catalog=myTest_DB;User ID=***;Password=***; 
MultipleActiveResultSets=False'"  providerName="System.Data.EntityClient"/>

错误:&#34; System.ArgumentException:不支持关键字:&#39;元数据&#39;。&#34;可能意味着您的连接字符串无效。