PDA

نسخه کامل مشاهده نسخه کامل : مشكل در اتصال access از طريق asp.net



Amateur
24-07-2006, 11:32
با سلام
من سعي كردم يك بانك اطلاعاتي اكسس را با 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\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] 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\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()

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

hamid_xp
24-07-2006, 12:08
سلام
شما ابتدا فایل اکسس خود را درون پوشه اصلی پروژه در [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] گذاشته و سپس آدرس مسیر آنرا در 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
31-07-2006, 17:31
بنام خدا
با تشكر از دوستان.
مشكل را فهميدم. فايل اكسس را روي يك درايوي كه بصورت Fat فرمت شده كپي كردم .(قبلا روي درايوي با فرمت Ntfs قرار داشت) و ارتباط برقرار شد.