无法连接到SQL Server AppHarbor
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
是否与上述相关?我只是把它放在那里,以免把事情搞得更深。 但低于是我很感兴趣,这是我的本地SQL Server的连接字符串无法连接到SQL Server AppHarbor
<connectionStrings>
<add name="ApplicationServices" connectionString="Data Source=localhost;Initial Catalog=TestDB;User ID=lews;Password='therin'" providerName="System.Data.SqlClient" />
“当你创建Sequelizer你可以指定一个连接字符串别名的数据库。这是在做Sequelizer附加页面(按照应用程序概述中的“转到...”链接)如果您在配置文件中将此名称设置为连接字符串的名称,我们将自动使用您的Sequelizer连接字符串替换它当你的代码被部署。“
这是来自Appharbor文档的片段。所以我假设数据源,初始目录,用户ID和密码被AppHarbor自动替换为正确的值。但由于某种原因无法连接。
下面是我使用MySQL的这个时候另一个字符串,我再次认为AppHarbor应该会自动注入正确的价值观,但它给人的错误是:
“PeopleEntities不能在应用程序配置文件中找到” 这是怎么回事?
<add name="PeopleEntities" connectionString="metadata=res://*/Context.People.csdl|res://*/Context.People.ssdl|res://*/Context.People.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;user id=root;database=people"" providerName="System.Data.EntityClient" />
</connectionStrings>
顺便说一句,名称分别为 “PeopleEntities” 和 “ApplicationServices” 被用作AppHarbor别名。 而我不知道如何使用文档中给出的代码,数据库只是不是我的东西..我如何使用本地和远程连接字符串?在代码中,我在哪里构建字符串并注入它?当我创建一个DBContext实例时,我必须这样做吗?等..
任何想法将是伟大的,谢谢!
编辑: 顺便说一句,如果我硬编码的连接字符串,在App.config并使用wcftestclient,它的工作原理,它查询数据库..但是,这不是一个好主意,显然连接字符串可以更改而不会有警告
无论如何,如果我硬编码与琴弦部署,并连接到我的网站数据库..它不会查询SQL服务器..真的很困惑:(
http://support.appharbor.com/discussions/problems/2687-solved-mysql-provider-with-entity-framework-problem 对于实体框架: 这件作品标记的是令人难以置信的重要:。
<system.data>
<DbProviderFactories>
<clear />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data,
Version=6.4.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
哦确保MySQL的连接器组件是局部的,它应该是在你的web.config文件为好,要格外肯定把它放在WCF的使用的App.config连接字符串中的相同插件别名
对于SQL Server插件: 需要使用此标记在web.config:
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5"/>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
<roleManager enabled="true">
<providers>
<clear />
<add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
</system.web>
,你应该是好去..