2012-10-13 34 views
39

Tôi đang phát triển trang web ASP.NET MVC, mà tôi muốn lưu trữ trên Trang web Azure. Trong khi phát triển, tôi đã sử dụng một tập tin MDF trong thư mục App_Data của tôi với một chuỗi kết nối tìm kiếm như thế này:Sử dụng tệp LocalDb MDF trên Azure

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=MyApp;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\MyApp.mdf;MultipleActiveResultSets=true" providerName="System.Data.SqlClient" /> 

Để thử nghiệm nó trên Azure, tôi đã hy vọng tôi có thể rời khỏi chuỗi kết nối này như là, và chỉ cần FTP MyApp.mdf của tôi vào thư mục App_Data trên Azure, vì nó được thiết lập với dữ liệu ví dụ mà tôi muốn sử dụng. Tuy nhiên, khi tôi đã cố gắng để truy cập vào trang web của tôi, tôi chạy vào báo lỗi sau:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a LocalDB installation. Verify that SQL Server Express is properly installed and that the LocalDB feature is enabled.)

Câu hỏi của tôi là, liệu có cách nào tôi có thể chạy trang web Azure của tôi kết nối với một tập tin MDF trong thư mục App_Data của tôi, hoặc là Tôi buộc phải sử dụng một cơ sở dữ liệu SQL Azure?

Trả lời

30

Bạn không thể sử dụng tệp .mdf trong App_Data, nhưng bạn không bị buộc phải SQL Azure - bạn có thể sử dụng SQL Server Compact. Triển khai từ LocalDB to Compact rất dễ dàng nếu bạn đang sử dụng Code First Migrations; nếu không bạn sẽ phải di chuyển đến SQL Server Compact trước khi triển khai. Nếu bạn quyết định đi với nhỏ gọn bạn sẽ phải đảm bảo cơ sở dữ liệu được triển khai, và bạn có thể tìm thấy hướng dẫn cho điều đó trong hướng dẫn này:

http://www.asp.net/mvc/tutorials/deployment/deployment-to-a-hosting-provider/deployment-to-a-hosting-provider-deploying-sql-server-compact-databases-2-of-12

+1

connectionString Những gì ông nên sử dụng? Tôi đang xuất bản lên myasp.net và tôi không biết phải sử dụng cái gì. ConnectionString của tôi là: ' '? – Yoda

+0

@Yoda, chuỗi kết nối của bạn không dành cho nhà cung cấp được yêu cầu, hãy kiểm tra [MSDN] (http://msdn.microsoft.com/en-us/library/jj653752 (v = vs.110) .aspx # sqlce), bạn sẽ tìm thấy ví dụ về chuỗi kết nối '' '' SqlServerCompact''''. – Gabrielius

+3

Điều này vẫn đúng trong năm 2015? Tôi chỉ thấy một chuỗi kết nối mặc định trong Kudu có tên 'LocalSqlServer' với' ... AttachDBFilename = | DataDirectory | aspnetdb.mdf ... 'và tôi đã bị hỏng. Tôi đang sử dụng SQLCE rồi nhưng muốn gắn một mdf SQLEXPRESS vào Trang web Azure của tôi. – twamley

2

Bạn sẽ phải sử dụng SQL Azure để sử dụng các tính năng Trang web/Dịch vụ đám mây.

Nếu bạn chưa có, bạn có thể muốn xem xét các biến đổi web.config với triển khai web để giảm bớt trải nghiệm xuất bản.

http://msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx

http://www.hanselman.com/blog/TinyHappyFeatures3PublishingImprovementsChainedConfigTransformsAndDeployingASPNETAppsFromTheCommandLine.aspx

Bạn có thể nhập dữ liệu của bạn vào SQL Azure DB thông qua các công cụ quản lý hoặc nếu bạn đang sử dụng SQL Server 2012 bạn có thể nhập dữ liệu/xuất khẩu qua cổng.

Các vấn đề liên quan