在Azure中托管网站并使用sql Server

本文关键字:sql Server 网站 Azure | 更新日期: 2023-09-27 18:25:09

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

我想在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.

我的connectionString是:

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身份验证

我需要更改什么以及如何更改才能使数据库中的阅读正常工作?

谢谢!

在Azure中托管网站并使用sql Server

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

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

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

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

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

这是一个解决方案:

  1. 在Azure上创建一个新的SQL数据库,该数据库将自动创建新的SQL服务器
  2. 将您的本地SQL数据库迁移到上面创建的Azure SQL数据库。请参阅将SQL Server数据库迁移到Azure SQL数据库
  3. 请注意,Azure SQL数据库不支持Windows身份验证。你可以寻找其他选择,例如使用Azure Active Directory身份验证通过使用Azure Active目录身份验证或SQL Server身份验证连接到SQL数据库

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

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