Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Mvc 3连接字符串问题_.net_Sql_Visual Studio 2010_Asp.net Mvc 3_Appharbor - Fatal编程技术网

Asp.net Mvc 3连接字符串问题

Asp.net Mvc 3连接字符串问题,.net,sql,visual-studio-2010,asp.net-mvc-3,appharbor,.net,Sql,Visual Studio 2010,Asp.net Mvc 3,Appharbor,我刚刚为我的web应用程序创建了一些托管空间。但是,当我将连接字符串更改为指向提供商的SQL server时,我收到一个错误 字符串如下所示: <connectionStrings> <add name="ApplicationServices" connectionString="Data Source=d5d3955e-1183-4e10-8892-9f9d005af0a8.sqlserver.sequelizer.com;Initial Catalog=db

我刚刚为我的web应用程序创建了一些托管空间。但是,当我将连接字符串更改为指向提供商的SQL server时,我收到一个错误

字符串如下所示:

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

我不知道这到底意味着什么。。是否需要添加新的连接字符串?如果是,我如何创建一个映射到我创建的实体?

通过修改applicationServices连接字符串修复了该问题:

<add name="TraxzDBEntities" connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl;&#xD;&#xA;         provider=System.Data.SqlClient;&#xD;&#xA;         provider connection string=&quot;&#xD;&#xA;         Data Source=YOURPROVIDERDATASOURCE;&#xD;&#xA;         User ID=YourUserName; &#xD;&#xA;         Password=YourPassword;&#xD;&#xA;         Initial Catalog=YourCatalog;&#xD;&#xA;         Persist Security Info=True;&#xD;&#xA;      MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

顺便说一句,我已通过VS server explorer连接到SQL server,表在其中,我刚刚从“属性”框复制并粘贴了连接字符串。您是否使用上述用户名密码创建了数据库用户,并为其授予了所述数据库的权限?您是否可以作为juydqjglrdwrhgsr连接到该SQL server(使用配置中的密码)访问数据库?或者您目前正在以自己的身份连接?我也对从VS工具(在本地机器上)连接到提供商的sql server(通常在其数据中心的私有部分)的想法有点怀疑-你在这里挖隧道吗?是的,上面的密码和用户名是正确的,我使用它们使用管理工具登录SQl server。这是我的主机提供给我的密码和用户名,我只是直接复制并粘贴了它。此外,我正在从.mdf压缩SQl切换-我是否必须重新生成.edmx文件以从m映射到SQl servery提供程序?或者我可以使用现有的一个,因为两个数据库都克隆了数据?您是如何修改applicationservices连接字符串的?
  If you take advantage of the Sequelizer MySQL and MS SQL Server add-ons, SQLSERVER_CONNECTION_STRING and SQLSERVER_URI settings will be injected into your application appSettings. SQLSERVER_CONNECTION_STRING_ALIAS will also be inserted if you add an alias. Further, the connection string will be placed in the connectionStrings element with name set to the alias if one is specified.

The uri is of the following format: sqlserver://username:password@hostname/databasename. If you want, you can create your own connection string (if, for example, you need a custom one for Entity Framework). Here's an example of building a standard connection string:

var uriString = ConfigurationManager.AppSettings["SQLSERVER_URI"];
var uri = new Uri(uriString);
var connectionString = new SqlConnectionStringBuilder
{
    DataSource = uri.Host,
    InitialCatalog = uri.AbsolutePath.Trim('/'),
    UserID = uri.UserInfo.Split(':').First(),
    Password = uri.UserInfo.Split(':').Last(),
}.ConnectionString;
<add name="TraxzDBEntities" connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl;&#xD;&#xA;         provider=System.Data.SqlClient;&#xD;&#xA;         provider connection string=&quot;&#xD;&#xA;         Data Source=YOURPROVIDERDATASOURCE;&#xD;&#xA;         User ID=YourUserName; &#xD;&#xA;         Password=YourPassword;&#xD;&#xA;         Initial Catalog=YourCatalog;&#xD;&#xA;         Persist Security Info=True;&#xD;&#xA;      MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
   string baseConnectionString = ConfigurationManager.ConnectionStrings["TraxzDBEntities"].ConnectionString;

    EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
    entityBuilder.Provider = "System.Data.SqlClient";
    entityBuilder.ProviderConnectionString = baseConnectionString;
    entityBuilder.Metadata = @"res://*/";

    return entityBuilder.ToString();