在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身份验证
我需要更改什么以及如何更改才能使数据库中的阅读正常工作?
谢谢!
您需要将连接字符串更改为:
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)。
这是一个解决方案:
- 在Azure上创建一个新的SQL数据库,该数据库将自动创建新的SQL服务器
- 将您的本地SQL数据库迁移到上面创建的Azure SQL数据库。请参阅将SQL Server数据库迁移到Azure SQL数据库
- 请注意,Azure SQL数据库不支持Windows身份验证。你可以寻找其他选择,例如使用Azure Active Directory身份验证通过使用Azure Active目录身份验证或SQL Server身份验证连接到SQL数据库
创建Azure SQL数据库后,它将为您提供应用程序所需的连接字符串。转到SQL Azure数据库的仪表板,在右侧您将看到"显示连接字符串"
为了清楚起见,您不能将.mdf数据库与Azure Web Apps一起使用,您需要创建一个虚拟机。最好的选择是将Web应用程序与SQL Azure数据库一起使用。