مشكل در اتصال access از طريق asp.net [آرشيو] - P30World Forums

PDA

View Full Version : مشكل در اتصال access از طريق asp.net


Amateur
07-24-2006, 11:32 AM
با سلام
من سعي كردم يك بانك اطلاعاتي اكسس را با Microsoft Jet 4.0 OLE DB Provider به asp.net متصل كنم اما بعد از اجرا error ذيل ظاهر مي شود،‌ممنون ميشوم اگر كسي راهنمائي كند مشكل كجاست؟ ضمنا شايد نكات ذيل هم براي تشخيص مشكل مفيد باشد:
- در هنگام اتصال پاسخ Test Connection بصورت Test Connection Succecded است.
-بعد از اتصال بانك، يك ايكون بانك اكسس همنام اما با يك علامت قفل در گوشه آن هم ايجاد مي شود و اگر اتصال را قطع كنيم آن ايكون هم ديده نمي شود.
-براي برقراري ارتباط با DataGrid كد ذيل را نوشته ام:
Dim myReader As System.Data.OleDb.OleDbDataReader

OleDbConnection1.Open()
myReader = OleDbCommand1.ExecuteReader()
DataGrid1.DataSource = myReader
DataGrid1.DataBind()


Server Error in '/ali-85-5-2' Application.--------------------------------------------------------------------------------

The Microsoft Jet database engine cannot open the file 'C:\Documents and Settings\nasehi.KCC-4F4E3221FC4\Desktop\ali\ali.mdb'. It is already opened exclusively by another user, or you need permission to view its data.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: The Microsoft Jet database engine cannot open the file 'C:\Documents and Settings\nasehi.KCC-4F4E3221FC4\Desktop\ali\ali.mdb'. It is already opened exclusively by another user, or you need permission to view its data.

Source Error:


Line 46: Dim myReader As System.Data.OleDb.OleDbDataReader
Line 47:
Line 48: OleDbConnection1.Open()
Line 49: myReader = OleDbCommand1.ExecuteReader()
Line 50: DataGrid1.DataSource = myReader


Source File: c:\inetpub\wwwroot\ali-85-5-2\WebForm1.aspx.vb Line: 48

Stack Trace:


[OleDbException (0x80004005): The Microsoft Jet database engine cannot open the file 'C:\Documents and Settings\nasehi.KCC-4F4E3221FC4\Desktop\ali\ali.mdb'. It is already opened exclusively by another user, or you need permission to view its data.]
System.Data.OleDb.OleDbConnection.ProcessResults(I nt32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvid er()
System.Data.OleDb.OleDbConnection.Open()
ali_85_5_2.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\ali-85-5-2\WebForm1.aspx.vb:48
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()

NoneForce
07-24-2006, 11:49 AM
سلام
موقع اجراي برنامه ديتابيس توسط اكسس باز شده است؟

hamid_xp
07-24-2006, 12:08 PM
سلام
شما ابتدا فایل اکسس خود را درون پوشه اصلی پروژه در wwwroot گذاشته و سپس آدرس مسیر آنرا در connection خود به شکل زیر تعریف کنید
<%@ Import Namespace="System.Data.OleDb" %>

<Script Runat="Server">

Sub Page_Load( s As Object, e As EventArgs )
Dim open1 As OleDbConnection

open1= New OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=server.mappath("./ali.mdb")" )
End Sub

</Script>
اگر باز کار نکرد فایلتو بفرست ببینم

Amateur
07-31-2006, 05:31 PM
بنام خدا
با تشكر از دوستان.
مشكل را فهميدم. فايل اكسس را روي يك درايوي كه بصورت Fat فرمت شده كپي كردم .(قبلا روي درايوي با فرمت Ntfs قرار داشت) و ارتباط برقرار شد.