C# 如何针对SQL Azure从Visual Studio中的package manager控制台调用更新数据库?

C# 如何针对SQL Azure从Visual Studio中的package manager控制台调用更新数据库?,c#,entity-framework,azure,azure-sql-database,C#,Entity Framework,Azure,Azure Sql Database,我使用的是EF 6.1.3。我正试图从PackageManager控制台针对SQLAzure调用更新数据库。本地SQL Express 2012一切正常。我可以使用SQL server Management Studio 2012/2014和具有相同凭据的Visual Studio server Explorer成功连接到服务器。我已经从管理门户在SQL Azure防火墙上设置了一个例外,但我收到了错误: 错误号:18456,状态:1,类别:14 用户“xxxxxxx”登录失败。 已为该会话分配

我使用的是EF 6.1.3。我正试图从PackageManager控制台针对SQLAzure调用更新数据库。本地SQL Express 2012一切正常。我可以使用SQL server Management Studio 2012/2014和具有相同凭据的Visual Studio server Explorer成功连接到服务器。我已经从管理门户在SQL Azure防火墙上设置了一个例外,但我收到了错误:

错误号:18456,状态:1,类别:14 用户“xxxxxxx”登录失败。 已为该会话分配了一个跟踪ID“xxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”。当您需要帮助时,请向客户支持提供此跟踪ID

例外情况是:

System.Data.SqlClient.SqlException(0x80131904):用户“xxxxx”登录失败。 已为该会话分配了一个跟踪ID“xxxxxx”。当您需要帮助时,请向客户支持提供此跟踪ID。 位于System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject、UInt32 waitForMultipleObjectsTimeout、Boolean allowCreate、Boolean OnlyOnEckConnection、DbConnectionOptions userOptions、DbConnectionInternal和connection) 位于System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject、TaskCompletionSource
1重试、DbConnectionOptions用户选项、DbConnectionInternal和connection)
位于System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection、TaskCompletionSource
1重试、DbConnectionOptions用户选项、DbConnectionInternal oldConnection、DbConnectionInternal&connection) 在System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnectionOuterConnection,DbConnectionFactory connectionFactory,TaskCompletionSource
1重试,DbConnectionOptions用户选项)
位于System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection、DbConnectionFactory connectionFactory、TaskCompletionSource
1重试,DbConnectionOptions用户选项) 在System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource
1重试)
在System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
1重试) 在System.Data.SqlClient.SqlConnection.Open()处 在System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.b_u36(DbConnection t,DbConnectionInterceptionContext c) 在System.Data.Entity.Infrastructure.InternalDispatcher
1.Dispatch[TTarget,TInterceptionContext](TTarget,Action
2操作,TInterceptionContext拦截Context,Action
3执行,Action
3执行) 位于System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection连接,DbInterceptionContext interceptionContext) 位于System.Data.Entity.SqlServer.SqlProviderServices.c__DisplayClass33.b__u32() 在System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.c__DisplayClass1.b__0()中 在System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func
1操作)
位于System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(操作操作)
位于System.Data.Entity.SqlServer.SqlProviderServices.UsingConnection(DbConnection-sqlConnection,Action
1 act) 在System.Data.Entity.SqlServer.SqlProviderServices.UsingMasterConnection(DbConnection-sqlConnection,Action
1act)中
位于System.Data.Entity.SqlServer.SqlProviderServices.CreateDatabaseFromScript(Nullable
1命令超时、DbConnection sqlConnection、String createDatabaseScript) 位于System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(DbConnection连接,Nullable
1命令超时,StoreItemCollection StoreItemCollection)
位于System.Data.Entity.Core.Common.DbProviderServices.CreateDatabase(DbConnection连接,Nullable
1命令超时,StoreItemCollection StoreItemCollection) 位于System.Data.Entity.Core.Objects.ObjectContext.CreateDatabase()处 位于System.Data.Entity.Migrations.Utilities.DatabaseCreator.Create(数据库连接) 位于System.Data.Entity.Migrations.Dbmigator.EnsureDatabaseExists(操作必须成功才能访问数据库) 位于System.Data.Entity.Migrations.Infrastructure.MigratorBase.EnsureDatabaseExists(操作必须成功才能使用数据库) 位于System.Data.Entity.Migrations.DbMigrator.Update(字符串targetMigration) 位于System.Data.Entity.Migrations.Infrastructure.MigratorBase.Update(字符串targetMigration) 在System.Data.Entity.Migrations.Design.ToolingFacade.UpdateRunner.Run()中 在System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)处 在System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)处 位于System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner) 位于System.Data.Entity.Migrations.Design.ToolingFacade.Update(字符串targetMigration,布尔力) 在System.Data.Entity.Migrations.UpdateDatabaseCommand.c__DisplayClass2.b__0()中 位于System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(操作命令) 客户端连接ID:xxxxx

我使用的连接字符串是:

更新数据库-SourceMigration xxxxxx-TargetMigration xxxxx-StartUpProjectName xxxxx-ProjectName xxxxx.Migrations-ConfigurationTypeName“xxxxx.MigrationConfiguration”-ConnectionString“服务器=tcp:xxxxxx.Database.windows.net,1433;数据库=xxxxxx;用户ID=xxxxxx;密码=xxxxxx;受信任的\u连接=False;加密=True;连接超时=30;”-ConnectionProviderName“System.Data.SqlClient”-Force

我从门户获取了连接字符串。有人知道问题出在哪里或如何解决吗


我在错误消息中只发现一件奇怪的事情:用户“xxxxxxx”登录失败。用户实际上是xxxx@serverName. 这里有什么逃跑的把戏吗?

正如我所怀疑的那样-用户名bre中的@字符