gpt4 book ai didi

entity-framework-5 - 带有代码优先连接字符串到远程数据库的 Entity Framework

转载 作者:行者123 更新时间:2023-12-04 18:43:19 24 4
gpt4 key购买 nike

我正在本地机器上工作(ASP.NET MVC 4 应用程序),但现在我想开始使用公司的 SQL 服务器,所以我需要更改连接字符串以将我连接到该远程服务器。

设置是这样的:

  • 我有一个使用 IP 地址的 VPN 连接,无法显示确切的 IP,所以假设 - xxx.xxx.xxx.xxx
  • 我有用户名和密码才能连接到 VPN - VPNUsername/VPNPassword
  • 当我使用 Microsoft SQL Server Management Studio连接到远程服务器我使用与连接到 VPN 相同的 IP - xxx.xxx.xxx.xxx
  • 我有不同的 SQL Server 用户名和密码 - SQLUsername/SQLPassword

  • 我有一个现有的连接字符串,用于连接到我 PC 上的服务器,所以我认为只需更改那里的参数就足够了:
    <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,我可以从那里成功连接到删除服务器作为服务器名称并在 SQL Server Authentincation 下使用 SQLUsername/SQLPassword .

  • 所以要明确 - 在 Management Studio 下,我连接到远程服务器没有问题。但是,当我将连接字符串更改为我在 HomeController 中发布的内容时我有非常简单的逻辑只是为了检查对数据库的调用是否已执行:
    private MyDbContext db = new MyDbContext();

    //
    // GET: /Home/

    public ActionResult Index()
    {
    return View(db.Users.ToList());
    }

    我得到 3 个异常(exception):
  • SqlException (0x80131904): 用户“VPNUsername”登录失败
  • ProviderIncompatibleException:提供程序未返回 ProviderManifestToken 字符串。
  • ProviderIncompatibleException:从数据库获取提供者信息时出错。这可能是由 Entity Framework 使用不正确的连接字符串引起的。

  • 所以除此之外,在我看来,第 3 条异常表明问题出在我使用连接字符串的方式上,我担心的还有 Number 1异常表示登录失败,但不是因为我的 SQLUsername,而是因为 VPNUsername。正如我所说 - 我真的在使用 VPN 连接并且我使用相同的 IP - xxx.xxx.xxx.xxx连接到 VPN 和 SQL Server(来自 Management Studio)。

    知道如何解决这个问题吗?

    最佳答案

    删除 Integrated Security=True当您尝试使用 SQL Server 用户名/密码进行连接时,从您的连接字符串

    关于entity-framework-5 - 带有代码优先连接字符串到远程数据库的 Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19852836/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com