Banyak teman-teman yang merasa terganggu dengan masalah jalur relatif database ACCESS di program .net, yang membuat mereka harus memodifikasi web.config setiap kali memindahkan program.
Jalur database dalam string koneksi database.
Banyak orang menulis yang berikut ini di web.config mereka:
<Pengaturan Aplikasi>
<add key="OLEDBCONNECTIONSTRING" value="Provider=Microsoft.Jet.OLEDB.4.0;
Sumber Data=E:webApp_DataData.mdb)"></add>
</Pengaturan Aplikasi>
Programnya ditulis seperti ini:
[
"OLEDBCONNECTIONSTRING"]);//Catatan: ConfigurationSettings ditulis berbeda di VS2005 dan VS2003. Periksa sendiri perbedaan spesifiknya
seperti yang sering ditanyakan berikut ini:
'C:WINDOWSsystem32~App_DataData.mdb' bukan jalur yang valid. Tentukan apakah nama jalur dieja dengan benar dan apakah Anda terhubung ke server tempat file disimpan. Sumber Data=~App_DataData.mdb
Meskipun jalur absolutnya benar, web.config harus dimodifikasi saat mentransplantasikan program, sehingga lebih merepotkan.
Ada juga cara menggunakan Server.MapPath seperti ASP di web.config untuk mendapatkan jalur database, tetapi web.config tidak mengenali Server.MapPath, jadi metode ini tidak berfungsi.
Kemudian, melalui eksplorasi dan referensi ke program lain, saya menyimpulkan metode berikut, yang dapat dengan mudah mentransplantasikan jalur program tanpa harus mengubah jalur database ACCESS.
Yang saya tulis di web.config adalah sebagai berikut:
<appSettings>
<tambahkan key="SQLConnString" value="provider=microsoft.jet.oledb.4.0;sumber data="/>
<tambahkan key="dbPath" value="~/App_Data/mydata.mdb"/>
</Pengaturan Aplikasi>
Di kelas akses data dalam program ini, saya mengeluarkan "SQLConnString" dan "dbPath" dan menghubungkannya ke dalam string "CONN_STRING_NON_DTC"
string baca statis publik CONN_STRING_NON_DTC = System.Configuration.ConfigurationManager.AppSettings["SQLConnString"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]) + ";";
Ini adalah metode penulisan di VS2005. Saya mendefinisikan CONN_STRING_NON_DTC sebagai static readonly untuk kemudahan penggunaan.
Nah, dengan cara ini Anda dapat mentransplantasikan program Anda sesuka hati tanpa mempedulikan jalur database, untuk selamanya ^_^, cocok untuk orang malas seperti saya!