【问题标题】:Hosting website in Azure and Using sql Server在 Azure 中托管网站并使用 sql Server
【发布时间】:2015-12-01 13:29:33
【问题描述】:

我在 Visual Studio Community 2013 上构建了一个 ASP.NET 网站,使用 C# 中的 SQL Server 数据库。

我想在 Microsoft Azure 中托管它。 我登录 Microsoft Azure 并在上面发布我的网站。

当我尝试从我的数据库中选择行时,我收到了这个错误:

Exception Details: System.ComponentModel.Win32Exception: The system cannot find the file specified [Win32Exception (0x80004005): The system cannot find the file specified]

[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server.

我的连接字符串是:

string connStr = @"Data Source=(LocalDB)\v11.0;AttachDBFilename=""C:\Users\MyComp\Documents\Visual Studio 2013\Projects\Test\Test\App_Data\MyDB.mdf"";Integrated Security=True";

我的数据库有 Windows 身份验证

我需要进行哪些更改以及如何更改才能使从 db 读取的内容起作用?

谢谢!

【问题讨论】:

    标签: c# asp.net sql-server azure


    【解决方案1】:

    您需要将连接字符串更改为:

    Server=tcp:[serverName].database.windows.net;Database=[myDataBase];
    User ID=[LoginForDb]@[serverName];Password=[myPassword];Trusted_Connection=False;
    Encrypt=True;
    

    [serverName] 是您的服务器名称等。

    【讨论】:

    【解决方案2】:

    从您的连接字符串中,您实际上指向的是本地主机上的 SQL 数据库服务器。

    您的 Azure Web 应用程序不知道如何定位您的本地 SQL 数据库服务器和附加的 DB 文件 (.mdf)。

    这是一种解决方案:

    1. 在 Azure 上创建一个新的 SQL 数据库,它会自动创建一个新的 SQL 服务器
    2. 将本地 SQL 数据库迁移到上面创建的 Azure SQL 数据库。参考Migrating a SQL Server database to Azure SQL Database
    3. 请注意,Azure SQL 数据库不支持 Windows 身份验证。您可以寻找替代方法,例如使用 Azure Active Directory 身份验证Connecting to SQL Database By Using Azure Active Directory Authentication 或 SQL Server 身份验证。

    【讨论】:

      【解决方案3】:

      创建 Azure SQL 数据库后,它将为您提供应用程序所需的连接字符串。转到 SQL Azure DB 的仪表板,在右侧您将看到“显示连接字符串”

      为清楚起见,您不能将 .mdf 数据库与 Azure Web 应用程序一起使用,您需要创建一个虚拟机。最佳选择是将 Web 应用程序与 SQL Azure 数据库一起使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-15
        • 2015-09-06
        • 1970-01-01
        相关资源
        最近更新 更多