我正在使用本地计算机(ASP.NET MVC 4应用程序),但现在我想开始使用公司的SQL服务器,因此我需要更改连接字符串以便将我连接到该远程服务器。
设置如下:
Microsoft SQL Server Management Studio
连接到远程服务器时,我使用与用于连接VPN的相同IP - xxx.xxx.xxx.xxx 我有一个现有的连接字符串,用于连接到我的电脑上的服务器,所以我认为仅仅改变那里的参数就足够了:
<add name="ProjectName.DAL.MyDbContext"
providerName="System.Data.SqlClient"
connectionString="Data Source=xxx.xxx.xxx.xxx;
Initial Catalog=DatabaseName;Integrated Security=True;
MultipleActiveResultSets=True;
user id=SQLUsername;password=SQLPassword;App=EntityFramework" />
因此,工作连接字符串并将我连接到本地服务器的更改有两个:
Data Source= xxx.xxx.xxx.xxx
- 我正在使用IP。在这里,我想知道IP本身是否足够。我应该使用http://xxx.xxx.xxx.xxx还是IP就可以了?user id=SQLUsername;pasword=SQLPassword
- 我使用与Management studio
中相同的用户名和密码,通过提供xxx.xxx.xxx.xxx
作为服务器名称并使用SQLUsername,我可以成功连接到删除服务器/ SQL Server Authentincation
下的/ SQLPassword。所以要清楚 - 在Management Studio下我连接到远程服务器没有问题。但是,当我将连接字符串更改为我在HomeController
上面发布的内容时,我的逻辑非常简单,只是为了检查是否执行了对数据库的调用:
private MyDbContext db = new MyDbContext();
//
// GET: /Home/
public ActionResult Index()
{
return View(db.Users.ToList());
}
我有3个例外:
除此之外,在我看来,由于3号异常表明问题出在我正在使用连接字符串的方式,关注我的是Number 1
异常,表示登录失败但不是对于我的SQLUsername但是对于VPNUsername。正如我所说 - 我真的使用VPN连接,我使用相同的IP - xxx.xxx.xxx.xxx
连接到VPN和SQL Server(来自Management Studio)。
知道如何解决这个问题吗?
答案 0 :(得分:6)
在尝试连接SQL Server用户名/密码时,从连接字符串中删除Integrated Security=True