【问题标题】:Connection String on a Shared Host Server共享主机服务器上的连接字符串
【发布时间】:2017-05-22 22:48:10
【问题描述】:

我想弄清楚我是否做错了什么。我有一个 MVC5 EF6 项目。我已将它放在我的共享主机服务器上的 public_html 文件夹中。我创建了一个 MySQL 数据库并为其添加了一个用户。我确保项目中包含并引用了 MySql.Data.Entity.EF6.dll 和 MySql.Data.dll。

我的 web.config 中有以下连接字符串:

<connectionStrings>
    <add name="DefaultConnection" providerName="MySql.Data.MySqlClient" connectionString="server=s023.someserver.com;UserId=shost_admin;Password=1Ycdcamj71Zh;database=shost_MySite;CharSet=utf8;Persist Security Info=True"/>
</connectionStrings>

我尝试了几件事,我删除了 charset 和 Persist Security Info 行,但它仍然不起作用。我不是 100% 确定从哪里获取服务器部分,所以我通过运行以下查询从我的 PHP 管理员那里得到它:

SHOW VARIABLES WHERE Variable_name = 'hostname'

我在本地使用 SQL Server 数据库进行测试,并且运行良好,没有任何问题。连接字符串名称相同,所以我知道它正在尝试点击正确的连接字符串,但我觉得它配置错误。

我每次得到的错误信息是:

访问数据库时出错。这通常意味着与数据库的连接失败。检查连接字符串是否正确,以及是否使用了适当的 DbContext 构造函数来指定它或在应用程序的配置文件中找到它。有关 DbContext 和连接的信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=386386。有关失败的详细信息,请参阅内部异常。

编辑:

发现问题,我还必须在 web.config 中指定端口和实体框架部分。

完整答案在这里:http://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html

【问题讨论】:

  • 服务器部分我不是 100% 确定从哪里得到的,所以我从 PHP 得到它 - 你怎么知道 Sql server 安装在同一台机器上?
  • @Pawel 我没有,现在是周末,我无法联系到设置此服务器的人,但这是我唯一一次必须完成所有设置为客户。 CPanel 无法告诉我这些信息,至少我没有看到任何信息。所以我想我会尝试从服务器变量中获取它并试试我的运气。
  • 首先我想说......我希望你没有使用真实的用户名和密码。如果是这样,请不要忘记更改它。
  • @Bagzil - 如果您不知道数据库安装在哪个服务器上,那么问这个问题是没有意义的。 stackoverflow 上的任何人都应该知道这一点吗?

标签: mysql asp.net-mvc-5 entity-framework-6 connection-string shared-hosting


【解决方案1】:

问题是连接字符串没有指定端口。

【讨论】:

    猜你喜欢
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 2011-03-11
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 2020-11-14
    相关资源
    最近更新 更多