【发布时间】:2016-02-03 01:02:22
【问题描述】:
实际上,我想检查我的连接字符串是否有效。
在 azure 上部署了 asp.net mvc web app 和 mysql db,所以我想先使用第二件事。因此,我将 db 添加到 Visual Studio Server Explorer - db 并且所有表都是可见的。
现在我尝试将连接字符串添加到我的项目中,哇,我发现了其中两个: 一:在Visual Studio数据连接属性中:
server=us-cdbr-azure-central-a.cloudapp.net;user id=userid;persistsecurityinfo=True;database=crawlerdb
第二:在天蓝色工作场所的数据库属性中:
Database=CrawlerDB;Data Source=us-cdbr-azure-central-a.cloudapp.net;User Id=userid;Password=userpass
而且它们都不起作用。永远不走运。 连接状态检查代码:
using (SqlConnection conn = new SqlConnection(connstr))
{
try
{
conn.Open();
var q = conn.State;
}
catch(Exception ex)
{
var q = ex.Message;
}
}
我做错了什么?:) 请告诉我:)
public class CrawledDataContext : DbContext
{
public CrawledDataContext()
{
Database.SetInitializer<CrawledDataContext>(null);
using (SqlConnection conn = new SqlConnection("server=us-cdbr-azure-central-a.cloudapp.net;user id=bb15193d20f901;persistsecurityinfo=True;database=crawlerdb"))
{
try
{
conn.Open();
var q = conn.State;
}
catch(Exception ex)
{
var q = ex.Message;
}
}
}
public DbSet<GroupInfo> GroupInfoes { get; set; }
}
这里是异常信息:
“在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确以及 SQL Server 是否已配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)"
【问题讨论】:
-
您从代码中的何处读取连接字符串?
-
其实我使用的是dbcontext,所以我将上面的代码添加到了覆盖的dbcontext类ctor中。
-
没有看到如何覆盖 dbcontext 的完整方法很难说。你有什么例外吗?
-
向问题添加代码
标签: c# mysql asp.net asp.net-mvc azure