Menyelesaikan masalah Ralat "Pembekal Dasar Gagal Buka" dalam Rangka Kerja Entiti dan MSSQL
Ralat "Pembekal asas gagal pada Terbuka" yang ditakuti sering timbul apabila Rangka Kerja Entiti cuba menyambung ke pangkalan data MSSQL. Punca punca hampir selalu rentetan sambungan yang dikonfigurasikan dengan tidak betul.
Untuk sambungan ke pangkalan data SQL tanpa fail .mdf, pastikan rentetan sambungan anda mematuhi struktur ini:
<code class="language-csharp"><add connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string='Data Source=.\SQL2008;Initial Catalog=NData;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True'" name="conString" providerName="System.Data.EntityClient" /></code>
Parameter Rentetan Sambungan Penting:
.SQL2008
untuk tika tempatan). Semak semula ini; kesilapan kesilapan di sini adalah punca biasa.True
menggunakan Pengesahan Windows.True
mencipta contoh pangkalan data khusus pengguna.True
mendayakan berbilang set hasil dalam satu sambungan.Isu Berkaitan Transaksi:
Satu lagi potensi sumber ralat ini melibatkan transaksi Rangka Kerja Entiti. Setiap operasi pangkalan data dalam transaksi secara automatik membuka dan menutup sambungan. Ini boleh menimbulkan masalah dengan MSDTC (Microsoft Distributed Transaction Coordinator).
Penyelesaian: Pengurusan Sambungan Manual
Untuk memintas isu MSDTC, buka sambungan secara eksplisit sebelum menggunakannya:
<code class="language-csharp">using (DatabaseEntities context = new DatabaseEntities()) { context.Connection.Open(); // Your database operations here... }</code>
Dengan menyemak dengan teliti rentetan sambungan anda dan menggunakan pengurusan sambungan manual apabila perlu, anda boleh menyelesaikan ralat "Penyedia Dasar Gagal pada Buka" dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Pembekal Dasar Gagal pada Terbuka' dalam Rangka Kerja Entiti Apabila Menyambung ke MSSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!