PDA

View Full Version : خطای Opration Must Use an updateable Query



archi
پنج شنبه 12 شهریور 1383, 20:19 عصر
برنامه ام به صورت Local درست کار می کرد وقتی Upload کردم توی یکی از صفحات بعد از اجرا کردن یک دستور Insert خطا می ده


Exception Details: System.Data.OleDb.OleDbException: Operation must use an updateable query.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

و توی Trace پایینش یه خطه که خبر از یه آدرس مطلق لوکال(نه نسبی ) می ده


myProject.myform.btnOk_click(object sender,Eventsargs e) In d::Inetpub\wwwroot\MyProject.Myform.aspx.vb

این یکی خیلی عجیبه چون من کانکشن استریگ و مابقی آدرس ها رو نسبی دادم (Map.Path)
:cry:
لطفا کمک کنید ممنون

Vahid_Nasiri
پنج شنبه 12 شهریور 1383, 21:13 عصر
جواب شما رو اینجا دادم:
http://www.barnamenevis.org/forum/viewtopic.php?t=14010

اگر هاست ایرانی است با آن تماس بگیرید و بگویید که روی فولدر اکانت شما به یوزر asp و asp.net دسترسی read , write بدهد. وگرنه کاری از دست شما ساخته نیست.

archi
جمعه 13 شهریور 1383, 18:05 عصر
آقای واقعا ممنون با هاست تماس گرفتم گقتند فایل accessرو توی فولدر db کپی کن توی اون فولدر مجوز داره.
حالا من باید کانکشن استرینگ رو عوض کنم و ظاهرا باید اینو بنویسم


path = Server.MapPath("..\db\db.mdb")

cn.ConnectionString = "Provider=""Microsoft.Jet.OLEDB.4.0"";Data Source=" & path

ولی حالا اصلا Read هم نمی تونم بکنم و خطا میده:



Exception Details: System.Web.HttpException: Cannot use a leading .. to exit above the top directory

مشکل از چیه؟ آیا باید به جای بک اسلش از اسلش استفاده کنم؟

Vahid_Nasiri
جمعه 13 شهریور 1383, 18:15 عصر
این مقاله رو در مورد استفاده از Server.MapPath ببینید (دید خوبی به شما می دهد):
http://www.4guysfromrolla.com/webtech/121799-1.shtml

برای اینکه برنامه رو دیباگ کنید یکبار بنویسید :


path = Server.MapPath("..\db\db.mdb")
Response.Write path

path=Server.MapPath("/db/db.mdb")
Response.Write path+"<br>"


path=Server.MapPath("\db\db.mdb")
Response.Write path+"<br>"


path=Server.MapPath("db/db.mdb")
Response.Write path+"<br>"

path=Server.MapPath("db\db.mdb")
Response.Write path+"<br>"

archi
جمعه 13 شهریور 1383, 19:32 عصر
بازم ممنون آقای نصیری
اون جوری که من فهمیدم ASP.NET به دلایل امنیتی جلوی .. را می گیرد درسته؟

http://www.maximumasp.com/maxtrack.asp?kb=734

حالا من باید اون خط خودم رو چه جوری بنویسم؟(map.path)

archi
جمعه 13 شهریور 1383, 20:51 عصر
همه حالتهاییی که گفتین رو امتحان کردم نشد :roll:
با اجازتون بحث رو به یه تاپیک دیگه منتقل کردم چون به موضوع ربطی نداره و اگه کسی دیگه هم با این مشکل بعدا برخورد کردن به دردش بخوره

Vahid_Nasiri
جمعه 13 شهریور 1383, 21:18 عصر
شما با استفاده از مثالی که زدم فقط *مسیر فایل* رو می خواهید و نه چیز دیگر.
این مسیر با کمی سعی و خطا بدست می آید. (حدود 2 دقیقه!)
بعد اینکه آیا مجوز خواندن و نوشتن در فایل را دارید یا خیر بر می گردد به حرفی که قبلا گفتم... خواه پند گیر خواه ملال!