ASP.Net MVC3 SQL连接字符串

问题描述:

我正在APPHARBOR上创建一个应用程序,我有一个用于查询SQL服务器的实体模型。以下字符串是givving我的错误:ASP.Net MVC3 SQL连接字符串

<add name="TraxzDBEntities" 
      connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl; 
      provider=System.Data.SqlClient; 
      provider connection string='Data Source=d5d3955e-1183-4e10-8892-9f9d005af0a8.sqlserver.sequelizer.com; 
      User ID=**; 
      Password=**; 
      Initial Catalog=dbd5d3955e11834e1088929f9d005af0a8;Integrated Security=true; 
      MultipleActiveResultSets=True'" 
     providerName="System.Data.EntityClient" /> 

这里是堆栈跟踪: 说明:在当前Web请求的执行过程中发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。

异常详细信息:System.ArgumentException:不支持的关键字:'server'。

源错误:

在当前web请求的执行过程中生成未处理的异常。关于异常的来源和位置的信息可以使用下面的异常堆栈跟踪来标识。

堆栈跟踪:

[ArgumentException: Keyword not supported: 'server'.] 
    System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey) +5110868 
    System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules) +98 
    System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) +112 
    System.Data.EntityClient.EntityConnection..ctor(String connectionString) +77 
    System.Data.Entity.Internal.LazyInternalConnection.TryInitializeFromAppConfig(String name, ConnectionStringSettingsCollection connectionStrings) +309 
    System.Data.Entity.Internal.LazyInternalConnection.Initialize() +52 
    System.Data.Entity.Internal.LazyInternalConnection.get_ConnectionHasModel() +10 
    System.Data.Entity.Internal.LazyInternalContext.InitializeContext() +265 
    System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +18 
    System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +62 
    System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() +15 
    System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider() +37 
    System.Linq.Queryable.Where(IQueryable`1 source, Expression`1 predicate) +63 
    Traxz.Models.TraxzRepository.getListOfUserExerciseSessions(Guid userID) in d:\temp\lhvy3m2t.j0d\input\Traxz\Models\TraxzRepository.cs:77 
    Traxz.Controllers.ExerciseSessionController.listSessions(Nullable`1 page, Nullable`1 SessionID) in d:\temp\lhvy3m2t.j0d\input\Traxz\Controllers\ExerciseSessionController.cs:34 
    lambda_method(Closure , ControllerBase , Object[]) +164 
    System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17 
    System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +208 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27 
    System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +55 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +263 
    System.Web.Mvc.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() +19 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +191 
    System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343 
    System.Web.Mvc.Controller.ExecuteCore() +116 
    System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97 
    System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10 
    System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +37 
    System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21 
    System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +12 
    System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62 
    System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +50 
    System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7 
    System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +22 
    System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60 
    System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8963149 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184 

我浪费在这无数个小时,IDK的什么是错的。请帮助。

这里似乎有一些其他连接字符串在使用。你是否也在代码中设置连接字符串?你的asp.net mvc项目中的 什么是web.config中的所有连接字符串?只是以上?

搜索您的整个解决方案单词“服务器”

+0

同意,我发生了这种情况,它最终成为设计人员引用的另一个连接字符串。 –

+0

嗯,我已阅读了一些关于appharbor的文档,看起来他们强制你构造一个动态连接字符串 - 但我测试了这个字符串,并且它正确地查询了托管的sql服务器。 – Aziz

+0

然后,您将忽略重要细节。这是什么动态连接字符串?我敢冒险说,由于上述错误,它不能正常工作。 –

要添加到亚当的建议(这可能是答案),在您的代码段,你没有;Password=**(也许你在做但真正的代码)。而且您还使用用户名和密码以及Integrated Security=true;,这对我没有意义,因为Integrated Security=true;表示使用当前登录的用户。

+0

我试过删除Integrated Security = true; - 但是这没有效果。 – Aziz