ID Artikel: 316675 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0

Unhandled pengecualian mungkin terjadi saat Anda mencoba untuk menyambung ke database Access dari ASP.NET pekerja proses

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Artikel ini merujuk kepada Microsoft berikut.NET Kerangka perpustakaan kelas namespace:
  • System.data.OleDb

Pada Halaman ini

Perbesar semua | Perkecil semua

GEJALA

Unhandled pengecualian mungkin terjadi di bawah berikut keadaan:
  • ASP.NET pekerja proses (Aspnet_wp.exe) berjalan di bawah default ASPNET account.
    -dan-
  • Anda tidak mengaktifkan peniruan pada aplikasi tersebut.

    -dan-
  • Anda mencoba untuk menyambung ke atau menulis untuk akses database.
Dalam keadaan ini, Anda mungkin menerima salah satu dari berikut pengecualian:
Microsoft Jet database engine tidak Buka file 'C:\Nwind.mdb'. Itu sudah dibuka secara eksklusif oleh pengguna lain, atau Anda memerlukan izin untuk melihat data.
Operasi harus menggunakan permintaan updateable.

PENYEBAB

Karena dari keamanan, ASP.NET pekerja proses berjalan di bawah default ASPNET account. Jika Anda tidak mengaktifkan peniruan untuk aplikasi, semua benang yang menjalankan permintaan untuk aplikasi dijalankan di bawah account proses.

Masalah ini terjadi karena ASPNET account memiliki izin yang memadai untuk menyambung ke atau kirimkan surat ke Akses database.

PEMECAHAN MASALAH

Untuk mengatasi masalah ini, gunakan salah satu dari berikut metode:
  • Mengkonfigurasi ASP.NET pekerja proses untuk berjalan di bawah Account sistem di bagian <processmodel>Machine.config elemen dari berkas.</processmodel>
  • Untuk alasan keamanan, Microsoft menyarankan agar Anda mengaktifkan peniruan di ASP Anda.NET aplikasi. Metode ini bekerja jika pengguna menyamar memiliki izin yang diperlukan untuk komputer dan database bahwa Anda mengakses.
  • Grant membaca dan menulis izin untuk "setiap orang" kelompok pada database dan database folder. Metode ini tidak aman; oleh karena itu, Microsoft tidak menganjurkan metode ini.

STATUS

Ini adalah aktivitas.

INFORMASI LEBIH LANJUT

Ketika Anda membutuhkan pengguna terbatas, dukungan penuh waktu, dan asam transaksi, Microsoft sangat menganjurkan bahwa Anda menggunakan Microsoft SQL Server dengan Microsoft Internet Information Services (IIS). Meskipun Microsoft aktif Server Pages (ASP) bekerja dengan setiap sesuai dengan DB OLE atau ODBC-compliant database, IIS telah diuji. IIS dirancang untuk bekerja dengan Microsoft SQL Server pada lalu lintas tinggi transaksi dan dengan unlimited pengguna, yang dapat terjadi dalam Internet skenario.

Catatan "Asam" merupakan akronim untuk sifat-sifat empat memproses transaksi sistem: Atomicity, konsistensi, isolasi, Daya tahan.

ASP mendukung penggunaan Microsoft Jet database engine sebagai sumber data yang benar. Namun, Microsoft ODBC Driver untuk akses dan Microsoft OLE penyedia DB untuk Jet tidak dimaksudkan untuk digunakan dengan tinggi-tekanan, tinggi-concurrency, penuh waktu server aplikasi (seperti aplikasi Web, Commerce aplikasi, aplikasi transaksional, pesan server, dan begitu pada).

Langkah-langkah mereproduksi perilaku

  1. Membuat ASP baru.NET aplikasi Web proyek di Microsoft Visual C#.NET.
  2. Tambahkan kode berikut ke bagian "Deklarasi" Anda Formulir web, yang muncul di bagian atas jendela kode:
    using System.Data.OleDb;					
  3. Tambahkan kode berikut untuk Page_Load acara:
        String myConn  ="Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:\\Nwind.mdb;";
        String myQuery  = "Insert into Customers(CustomerID,CompanyName) Values ('aaaaa', 'aaaaa')";
    
        OleDbConnection cn = new OleDbConnection(myConn);
        cn.Open();
        OleDbCommand cmd = new OleDbCommand(myQuery, cn);
        cmd.ExecuteNonQuery();
        cn.close();
    					
  4. Memodifikasi rangkaian sambungan yang sesuai untuk Anda lingkungan.
  5. Mengkompilasi proyek.
  6. Lihat WebForm1.aspx di browser Anda. Pemberitahuan yang Anda terima salah satu pengecualian yang disebutkan di atas.

REFERENSI

Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel pada Basis Pengetahuan Microsoft:
306590  (http://support.microsoft.com/kb/306590/ ) ASP.Ikhtisar bersih keamanan
307626  (http://support.microsoft.com/kb/307626/ ) ASP.NET konfigurasi overview
Untuk informasi lebih lanjut tentang <processmodel></processmodel> bagian, kunjungi berikut Microsoft Developer Network (MSDN) Situs web:
<processmodel>Bagian</processmodel>
.aspx http://msdn2.Microsoft.com/en-us/library/7w2sway1 (vs.71) (http://msdn2.microsoft.com/en-us/library/7w2sway1(vs.71).aspx)

Berlaku bagi:
  • Microsoft ADO.NET 2.0
  • Microsoft ASP.NET 1.0
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
Kata kunci: 
kbtshoot kberrmsg kbnofix kbprb kbsystemdata kbmt KB316675 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:316675  (http://support.microsoft.com/kb/316675/en-us/ )