PDA

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



Amateur
24-07-2006, 11:51
با سلام
من سعي كردم يك بانك اطلاعاتي اكسس را با 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()[/COLOR
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()

MasterData
24-07-2006, 12:00
پيام خطا ميگه كه بانك به طور انحصاري توسط برنامه ديگه اي باز شده يا مشخصات كاربري كه با اون مي خواهيد منصل بشيد رو اتباه داديد
شما موقع اجرا كردن برنامه تمام برنامه هايي رو كه از اين بانك استفاده مي كنند ببندين

hamid_xp
24-07-2006, 13:27
سلام . من جواب شما رو تو اون یکی پستت دادم . امیدوارم مشکلت حل بشه.

nightmare
24-07-2006, 13:39
دوست عزیز لطف کنید برای انجام کارتون یک تاپیک بزنید . توی همون به نتیجه می رسید. من پست hamid_xp عزیز رو در اون تاپیک به اینجا کپی می کنم . لطف کنید در همین جا دنبال کنید.


سلام
شما ابتدا فایل اکسس خود را درون پوشه اصلی پروژه در [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] گذاشته و سپس آدرس مسیر آنرا در 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 قرار داشت) و ارتباط برقرار شد.