Kết nối

  • Trang chủ
  • /
  • ASP.NET MVC
  • /
  • [ASP.NET MVC] Phần 6: Tìm hiểu về các chuỗi kết nối cơ sở dữ liệu (connection strings)

[ASP.NET MVC] Phần 6: Tìm hiểu về các chuỗi kết nối cơ sở dữ liệu (connection strings)

44.965 lượt xem 
 Cập nhật lần cuối: 01/07/2018 lúc 15:45:01
Thể loại: ASP.NET MVC 

Sau khi tạo được mô hình (Model) ở các bài trước, bạn nên tìm hiểu một chút về chuỗi kết nối database trong ASP.NET MVC. Để xem nội dung chuỗi kết nối, bạn có thể mở tập tin Web.config trong dự án và tìm chỗ có thẻ connectionStrings. Nội dung một tập tin Web.config như sau:

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=301880
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-DammioMVC-20170917054853.mdf;Initial Catalog=aspnet-DammioMVC-20170917054853;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="DammioMVCEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(local);initial catalog=DammioMVC;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>
  <system.webServer>
    <modules>
      <remove name="FormsAuthenticationModule" />
    </modules>
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

Đoạn có chứa các chuỗi kết nối bạn cần tìm:

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-DammioMVC-20170917054853.mdf;Initial Catalog=aspnet-DammioMVC-20170917054853;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="DammioMVCEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(local);initial catalog=DammioMVC;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

Theo đoạn mã trên, bạn thấy có 2 chuỗi kết nối là DefaultConnectionDammioMVCEntities.

Chuỗi kết nối DefaultConnection chính là dạng kết nối tới SQL Server Express Database Engine (cơ chế dữ liệu nhanh của SQL Server) cho phép chạy ở chế độ người dùng và làm việc với các tập tin *.mdf. Thông thường, các tập tin cơ sở dữ liệu LocalDB nằm trong thư mục App_Data của dự án Web.

Liên quan:  [ASP.NET MVC] Phần 3: Thêm mới Controller (điều khiển)

Bạn phải chú ý nhiều hơn chuỗi kết nối DammioMVCEntities. Đây chính là chuỗi kết nối mà dự án Web hiểu được database từ SQL Server theo kiểu MVC. Chuỗi này có đoạn mã:

 <add name="DammioMVCEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(local);initial catalog=DammioMVC;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

Ba tập tin Models.Model.csdl, Models.Model.ssdl và Models.Model.msl là các tập tin cấu hình MVC. Theo đó, bạn đang dùng server SQL cài mặc định của máy bạn đang dùng (data source=(local)) và tên database là initial catalog=DammioMVC với chế độ tích hợp bảo mật (integrated security=True), không cần tài khoản đăng nhập.

Bạn phải ghi đúng thông số chuỗi kết nối này và khi triển khai thực tế bạn phải thay đổi thông tin. Ví dụ, chuỗi kết nối triển khai trên server có IP database là 192.168.1.1 và có tài khoản đăng nhập User là “user” và Pass là “pass” thì bạn thay đổi chuỗi kết nối như sau:

 <add name="DammioMVCEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=192.168.1.1, 1433;initial catalog=DammioMVC;User ID=user;Password=pass;Integrated Security=False;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

Ngoài cách trên ra, bạn còn có thể tham khảo các kiểu kết nối khác ở https://www.connectionstrings.com/sql-server/

Kết luận: Bài viết giúp bạn hiểu rõ về nội dung các chuỗi kết nối để kết nối database và dự án Web ASP.NET MVC với nhau. Mời bạn tiếp tục theo dõi bài tiếp theo.

Trích dẫn bài viết
  • APA:
    Dammio. (2018). [ASP.NET MVC] Phần 6: Tìm hiểu về các chuỗi kết nối cơ sở dữ liệu (connection strings). https://www.dammio.com/2018/04/19/asp-net-mvc-phan-6-tim-hieu-ve-cac-chuoi-ket-noi-co-so-du-lieu-connection-strings.
  • BibTeX:
    @misc{dammio,
    author = {Dammio},
    title = {[ASP.NET MVC] Phần 6: Tìm hiểu về các chuỗi kết nối cơ sở dữ liệu (connection strings)},
    year = {2018},
    url = {https://www.dammio.com/2018/04/19/asp-net-mvc-phan-6-tim-hieu-ve-cac-chuoi-ket-noi-co-so-du-lieu-connection-strings},
    urldate = {2024-09-05}
    }
Theo dõi
Thông báo của
guest
7 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Minh Kha
Minh Kha
6 năm trước

Viết tiếp bạn ơi, học MVC hay lắm

Minh Tan
Minh Tan
6 năm trước

Hóng bài tiếp anh ơi

Minh
Minh
5 năm trước

Anh cho hỏi dòng
“publicKeyToken=”31bf3856ad364e35″ ” có sày chung với máy khác được ko, làm sao để có publickey Token .

Nguyen Nhi
Nguyen Nhi
5 năm trước

của em không có chuỗi kết nối DefaultConnection là sao ạ?

trackback

[…] Link bài viết: [ASP.NET MVC] Phần 6: Tìm hiểu về các chuỗi kết nối cơ sở dữ liệu (connection s… […]

7
0
Rất thích suy nghĩ của bạn, hãy bình luận.x