صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 60

نام تاپیک: *** مرجع حل خطاهای احتمالی ( 42 خطا) ***

  1. #1

    Exclamation *** مرجع حل خطاهای احتمالی ( 42 خطا) ***

    سلام
    سعی بر آن است که در این تاپیک مشکلات و خطاهای رایج در برنامه نویسی ASP مطرح و راه حلهای مناسب برای هر یک بیان شود.
    لذا از دوستان ASPکار تقاضا دارم مشابه دیگر تاپیکهای گروهی بنده را یاری دهند و اطلاعات خود را برای استفاده دیگران به اشتراک گذارند.

    به دلیل اینکه یکی از دلایل ایجاد خطا به هنگام کار با بانکهای اطلاعاتی عدم وجود دسترسی های لازم به بانک است در ابتدای کار نحوه دسترسی دادن به یک فایل یا یک پوشه را توضیح می دهم.
    نحوه دسترسی دادن به یک فایل یا یک پوشه
    ابتدا به کنترل پانل رفته گزینه Folder Options را دوبار کلیک کنید.



    حال در پنجره Folder Options به برگه View رفته در لیست Advanced Settings گزینه Use simple file sharing (Recommended) را پیدا کنید.



    در صورتی که گزینه مذکور به حالت انتخاب شده بود، تیک آن را برداشته روی دکمه OK کلیک کنید. در غیر اینصورت دکمه Cancel را کلیک نمایید.



    تا به اینجا تنها برگه Security را به بخش Properties فایلها و پوشه ها اضافه کرده ایم.
    در ینجا بری روشن تر شدن مراحل، پوشه ی با نام My Project در c:\Inetpub\wwwroot یجاد کرده ام. حال بری ینکه اجازه دسترسی به ین پوشه را بدهیم بدین ترتیب عمل می کنیم.



    ابتدا روی پوشه مورد نظر راست کلیک کرده در لیست باز شده گزینه Properties را انتخاب می کنیم.



    در پنجره Properties برگه Security را کلیک میکنیم.



    در برگه Security لیستی با عنوان Group or user names وجود دارد که حاوی لیست کاربرانی است که برای هر کدام دسترسی تعریف شده است. ریز حدود دسترسی در لیست زیرین آن مشخص شده است.
    * ممکن است لیست Group or user names نمایان شده برای شما حاوی چند آیتم باشد. من برای جلوگیری از بوجود آمدن هرگونه ابهام همه این یوزر ها را حذف کردم. پس ایرادی به کار شما وارد نیست.
    حالا روی دکمه Add کلیک می کنیم.



    در پنجره Select Users or Groups روی دکمه Advanced کلیک می کنیم.



    حال در پنجره جاری دکمه Find Now را پیدا کرده آن را کلیک می کنیم.



    در این مرحله گزینه های زیادی به لیست پایینی پنجره اضافه می شود.
    بری رفع مشکلات دسترسی (Permission) در صفحات ASP تنها به دسترسی آیتمی با عنوان IUSR_machinename نیاز داریم. که در اینجا machinename همان نام رایانه میباشد.
    بری دسترسی دادن این آیتم در لیست پایینی به دنبال آن گشته، آن را کلیک نموده، سپس برای تایید کار دکمه OK را کلیک می کنیم.



    در لیست موجود در پنجره Select Users or Groups گزینه انتخاب شده در مرحله قبل را مشاهده می کنیم. بری ادامه کار دکمه OK را کلیک می نماییم.



    مشاهده می کنید که آیتمی به لیست Group or user names اضافه شد. حالا باید حدود دسترسی آن را تعریف کنیم.
    بری انجام این کار در قسمت پایینی پنجره گزینه هایی قرار گرفته است. این گزینه ها برای تعیین حدود دسترسی کاربر در نظر گرفته شده است.
    بهتر است برای نوشتن برنامه، محدودیت ها را کم کنیم. بدین منظور گزینه Full Control (تصویر شماره 1) را در ستون Allow تیک میزنیم (تصویر شماره 2).
    حال برای پایان کار دکمه OK را کلیک می کنیم.





    روز خوش
    آخرین ویرایش به وسیله M-Gheibi : چهارشنبه 09 شهریور 1384 در 09:15 صبح

  2. #2
    Microsoft OLE DB Provider for ODBC Drivers error '80004005'
    [Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file already in use.

    یا
    Microsoft OLE DB Provider for ODBC Drivers error '80004005'
    [Microsoft][ODBC Microsoft Access 97 Driver]
    The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

    یا
    Microsoft OLE DB Provider for ODBC Drivers (0x80004005) 
    [Microsoft][ODBC Microsoft Access Driver] '(unknown)' isn't a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.

    به یوزر IUSR_<machinename> پوشه محل ذخیره بانک اطلاعاتی دسترسی کامل (Full Control) دهید. (برای مشاهده نحوه انجام این کار به اولین پست همین تاپیک مراجعه کنید.)
    در صورتی که برنامه شما در سرور محلی (Local Web Server) اجرا می شود، مطمئن شوید که Share Permissions دسترسی کامل (Full Control) داشه باشد.

  3. #3
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][ODBC Microsoft Access 97 Driver]
    Syntax error in INSERT INTO statement.

    نام انتخابی برای ستون موجود در بانک یکی از کلمات رزرو شده مانند Date است. برای حل این مشکل نام ستون را تغییر دهید. مثلا به fldDate تغییر دهید.

  4. #4
    Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
    [Microsoft][ODBC Microsoft Access 97 Driver]
    Too few parameters. Expected 1.

    نام ستون وارد شده معتبر نیست. به این معنی که ستونی با نام وارد شده وجود ندارد.

    این خطا غالبا به دلیل اشتباه تایپی رخ می دهد و با کنترل مجدد رفع میشود. دقت داشته باشید در صورتی که از بانک اکسس استفاده می کنید، ممکن است نام نمایش ستون با نام اصلی آن متفاوت باشد. در کد نویسی نام نمایشی ملاک نبوده و باید نام اصلی وارد شود.

    برای اطمینان از این مورد، بانک خود را با استفاده از نرم افزار Microsoft Access باز کرده، به قسمت Design بروید. در ستون Field Name نامهای اصلی هر فیلد مشخص است. برای مشاهده نام نمایشی هر یک از این فیلدها، فیلد مورد نظر را انتخاب نموده، در بخش General و در جلوی آیتم Caption نام نمایشی را مشاهده کنید.

    * به صورت پیش فرض نامی برای این قسمت در نظر گرفته نشده است.

  5. #5
    Microsoft JET Database Engine (0x80004005)
    Could not find file 'xxxxxx'.

    آدرس بانک اطلاعاتی نادرست است. یکی از رایجترین اشتباهاتی که باعث پیدایش این خطا می شود نحوه نادرست آدرس دهی بانک است.

    برای مثال استفاده از کد زیر خطایی مشابه خطای بالا را نمایش می دهد:
    filepath ="DB.mdb"
    set conn = server.CreateObject("ADODB.Connection")
    conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath

    برای حل این مشکل می بایست آدرس فیزیکی فایل را وارد کنیم. بدین منظور از server.MapPath استفاده می کنیم.
    filepath = server.MapPath("DB.mdb")
    set conn = server.CreateObject("ADODB.Connection")
    conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath

  6. #6
    Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
    [Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

    یا
    Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
    [Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.

    یا
    Microsoft JET Database Engine (0x80004005) 
    Operation must use an updateable query.

    این خطا به هنگامی رخ میدهد که دسترسی اعمال تغییرات روی بانک را نداشته باشید. برای حل این مشکل روش توضیح داده شده در اولین پست همین تاپیک را دنبال کنید.

  7. #7
    Microsoft VBScript runtime error '800a01ad' 
    ActiveX component can't create object

    یا
    Server object, ASP 0178 (0x80070005) 
    The call to Server.CreateObject failed while checking permissions. Access is denied to this object.

    دلیل نمایان شدن این خطا نیز عدم دسترسی می باشد. برای رفع این خطا مطابق مراحل پست اول همین تاپیک عمل کنید.

  8. #8
    Server object error 'ASP 0177 : 800401f3'
    Server.CreateObject Failed
    Invalid class string

    این خطا نشان می دهد که کامپوننت مورد استفاده در سرور ثبت (‌Register) نشده است.
    برای حل این مشکل با ادمین سرور تماس بگیرید.

  9. #9
    The page cannot be displayed 

    There is a problem with the page you are trying to reach and it cannot be displayed.

    --------------------------------------------------------------------------------

    Please try the following:

    Open the www.sitename.com home page, and then look for links to the information you want.

    Click the Refresh button, or try again later.

    Click Search to look for information on the Internet. You can also see a list of related sites.

    HTTP 500 - Internal server error
    Internet Explorer

    این خطا یکی از عمومی ترین خطاهای مشاهده شده است. نرم افزار اینترنت اکسپلورر در بعضی مواقع به طور خودکار خطای اسکریپتهای ASP را مخفی کرده و به جای آن چنین پیغامی را نمایش می دهد.
    لازم به ذکر است راه کلی برای حل این خطا وجود ندارد چون به دلایل مختلف رخ می دهد.
    با روش زیر خطای اصلی را مشاهده خواهید کرد. شاید به این طریق (مشاهده خط رخداد خطا) بتوانید دلیل این پیامد را حدس بزنید.
    به کنترل پانل رفته گزینه Internet Options را دوبار کلیک کنید.

    در پنجره Internet Options به برگه Advanced بروید.

    در لیست Settings آیتم Show friendly HTTP error messages را پیدا کرده (تصویر شماره 1) آن را از حالت انتخاب خارج کرده دکمه OK را کلیک نمایید (تصویر شماره 2).


    از این پس به جای مشاهده خطای HTTP 500 - Internal server error خطای اصلی را خواهید دید.
    آخرین ویرایش به وسیله M-Gheibi : چهارشنبه 09 شهریور 1384 در 09:18 صبح

  10. #10
    نقل قول نوشته شده توسط Delphi-Clinic
    :) امیدوارم مورد قبول دیگر دوستان هم واقع شده باشه.
    خب این هم از ارور امروز:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'  
    Command text was not set for the command object.

    یا
    Microsoft JET Database Engine (0x80040E0C)
    Command text was not set for the command object.

    این خطا معمولا به علت وجود دستور خالی در زبان پرس و جوی ساختاری (SQL) بوجود می آید. و معمولا با کنترل مجدد کد قابل رفع است.
    برای مثال کد زیر چنین خطایی را به دنبال دارد.
    <% 
    filepath = server.mappath("YourAccessFile.mdb")
    set conn = createobject('adodb.connection")
    conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath
    [b]strSQL [/b]= "select * from table where field = 'x' "
    conn.execute([b]SQLstr[/b])
    %>

    دلیل بوجود آمدن این خطا در کد بالا تفاوت strSQL و SQLstr هست که با تصحیح این دو و هماهنگ کردن آنها چنین خطایی رخ نخواهد داد.

    ضمنا یکی از راه های جلوگیری از بوجود آمدن این خطا استفاده از عبارت Option Explicit در ابتدای صفحات می باشد.

    روز خوش

  11. #11
    Microsoft VBScript compilation (0x800A0409) 
    Unterminated string constant

    این خطا ممکن است با نوشتن کدی مشابه کد زیر بوجود آید:
    <% 
    Response.Write "<table height=100%>"
    %>

    دلیل رخ دادن این خطا این است که موتور ASP ابتدا تگهای <% و %> را در کد پیدا می کند و سپس به ترجمه کدهای بین این تگها می پردازد. در کد بالا علامت درصد برای ارتفاع جدول درج شده است ولی به هنگام ترجمه٬ موتور آن را به عنوان تگ انتهایی در نظر می گیرد و به این ترتیب خطای فوق روی می دهد.
    برای رفع این مشکل راه های زیادی وجود دارد. برای مثال می توان به جای کد بالا از یکی کدهای جایگزین زیر استفاده نمود:
    Response.Write "<td height='100%'>" 
    Response.Write "<td height=100% >"
    Response.Write "<td height=""100%"">"
    Response.Write "<td height=100%\>"
    Response.Write "<td height=" & chr(34) & "100%" & chr(34) & ">"

    البته ساده ترین و گویا ترین کد مسلما کد اول است.
    <% 
    Response.Write "<table height='100%'>"
    %>

    یعنی برای جدا کردن کدهای HTML از دو اپوستروف استفاده کنید. به این ترتیب برنامه به درستی اجرا خواهد شد.

  12. #12
    Microsoft VBScript runtime error '800a0411'  
    Name redefined: 'response'
    /....asp, line ...

    1. تعریف بیش از یک بار یک ثابت (constant):
    <% 
    const yourconst = 0
    '...
    const yourconst = 1
    %>

    برای حل این خطا با توجه به برنامه٬ یکی از این خطوط را حذف کنید.
    2. انتخاب یک نام از پیش تعریف شده (مثلا response) برای نام گذاری یک ثابت (constant) :
    برای مثال کد زیر باعث نمایش خطای فوق می شود:
    <% 
    Const Request= "Request message."
    %>

    راه حل رفع این خطا عدم استفاده از نام های از پیش تعریف شده است.

  13. #13
    Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
    [Microsoft][ODBC Microsoft Access Driver] Cannot open database '(unknown)'. It may not be a database that your application recognizes, or the file may be corrupt.

    یا
    Microsoft JET Database Engine error '80004005' 
    Unrecognized database format '<file>.MDB'

    دلایل بروز این خطا :
    1. فایل MDB مورد استفاده صدمه دیده است.
    راه حل:
    در اکثر مواقع میتوان با استفاده از بخش compact and repair database موجود در برنامه اکسس این مورد را بر طرف نمود.
    2. ارتباط با بانک Access 97 با استفاده از درایور Access 2000 یا نسخه های بالاتر آن و برعکس.
    راه حل:
    الف) اطمینان حاصل کنید که آخرین نسخه از MDAC ( Microsoft Data Downloads ) و آخرین نسخه درایور JET ( JET drivers ) بر روی سرور نصب شده است.
    ب) سعی کنید بانک اکسس خود را به نسخه های جدیدتر این نرم افزار ارتقا دهید.

  14. #14
    آقای غیبی از زحمات شما کمال تشکر را دارم . :flower:
    I've just started tweeting!
    @Alireza_Maddah

  15. #15
    نقل قول نوشته شده توسط علیرضا مداح
    آقای غیبی از زحمات شما کمال تشکر را دارم . :flower:
    :) Thanks

    Request object error 'ASP 0102 : 80004005' 
    Expecting string input

    یا
    Request object, ASP 0102 (0x80004005) 
    The function expects a string as input.

    وقتی با استفاده از request.querrystring یا request.form مقداری را دریافت می کنید در صورتی که متغیر ذکر شده در جایی تعریف نشده باشد٬ چنین خطایی رخ می دهد.
    برای مثال وقتی در یک فرم ثبت نام فیلدی با نام txttest وجود نداشته باشد ولی در صفحه اکشن شما این مقدار درخواست شود با چنین خطایی روبرو خواهید شد.
    کد نمونه :
    <% 
    Request.QueryString(txttest)
    %>

    یا
    <%
    Request.Form(txttest)
    %>

    برای رفع این خطا٬ از وجود چنین فیلدی اطمینان حاصل کنید.

  16. #16
    Active Server Pages error 'ASP 0116 : 0x80004005'  
    Missing close of script delimiter
    /<file>.asp, line <line>
    The Script block lacks the close of script tag (%>).

    یا
    Active Server Pages, ASP 0116 (0x80004005) 
    The Script block lacks the close of script tag (%>)

    این دو خطا زمانی نمایان می شوند که تگ پایانی ای اس پی (<%) وارد نشده باشد.
    برای مثال کد زیر باعث بروز خطای فوق می شود:
    <% response.write "anything"

    برای رفع این خطا تنها کافیست تگ پایانی را اضافه کنید. بدین شکل :
    <% response.write "anything" %>

  17. #17
    Request object, ASP 0105 (0x80004005) 
    An array index is out of range.

    این خطا معمولا به علت استفاده نادرست از request.querystring یا request.form رخ می دهد.
    به این معنی که مقدار دریافتی querystring و form از نوع رشته ای (String) می باشد. اگر به جای استفاده از مقدار رشته ای از مقادیر عددی استفاده کنیم٬ با خطایی مشابه خطای فوق روبرو خواهیم شد. برای مثال کد زیر چنین خطایی را بوجود می آورد:
    response.write Request.Form(5) 

  18. #18
    Active Server Pages, ASP 0140 (0x80004005) 
    The @ command must be the first command within the Active Server Page.

    همانطور که از پیغام نمایش داده شده مشخص است٬ دستور دهنده های @ تنها می توانند در اولین خط از کدهای برنامه قرار گیرند.
    برای رفع این خطا کد مربوط به دستور دهنده استفاده شده را به اولین خط از کد برنامه منتقل کنید.

  19. #19
    Active Server Pages, ASP 0141 (0x80004005) 
    The @ command can only be used once within the Active Server Page.

    این خطا زمانی رخ می دهد که از علامت @ برای مشخص کردن دستور دهنده ها بیش از یکبار استفاده کرده باشید.
    استفاده از @ تنها در یک خط (اولین خط) مجاز می باشد. لذا برای تعریف بیش از یک دستور دهنده می بایست ابتدا @ را وارد کرده پس از آن دستور دهنده ها را با فاصله تعریف کنید.
    برای مثال :
    <%@Language = vbscript Codepage=65001 %>

  20. #20
    Server.MapPath() error 'ASP 0172 : 80004005' 
    Invalid Path
    /....asp, line ...
    The Path parameter for the MapPath method must be a virtual path. A physical
    path was used.
    به هنگام استفاده از server.MapPath میبایست از مسیر مجازی (Virtual Path) استفاده شود. استفاده از مسیرهای فیزیکی (Physical Path) در این مورد باعث بروز خطایی مشابه خطای فوق می گردد.
    برای مثال کد زیر باعث نمایش چنین خطایی می شود:
    <%
    path = server.MapPath("C:\Inetpub\wwwroot\test\database.m db")
    set conn = server.CreateObject("ADODB.Connection")
    conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp; path
    Set rs = conn.Execute("select * from tbltest")
    %>
    همانطور که ملاحظه می کنید مسیر وارد شده مسیر فیزیکی فایل database.mdb هست و به همین علت برنامه از اجرای کامل باز می ماند.
    در صورتی که صفحه ASP ما در پوشه test قرار گرفته باشد کد اطلاح شده برنامه بالا بدین شکل خواهد بود:
    <%
    path = server.MapPath("database.mdb")
    set conn = server.CreateObject("ADODB.Connection")
    conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp; path
    Set rs = conn.Execute("select * from tbltest")
    %>

  21. #21
    ADODB.Field error '80020009' 
    Either BOF or EOF is True, or the current record has been deleted; the
    operation requested by the application requires a current record.

    یا
    ADODB.Recordset error '800a0bcd' 
    Either BOF or EOF is True, or the current record has been deleted.
    Requested operation requires a current record.

    علت بروز این دو خطا عدم وجود رکورد جهت انجام عملیات مورد نظر بر روی آن است.
    برای فهم بهتر به مثال زیر توجه کنید:
    کد زیر در صورتی باعث بوجود آمدن خطای فوق می شود که عبارت masoud در فیلد fld_name پیدا نشود. به این ترتیب رکوردی برای نمایش وجود نخواهد داشت و لذا IIS اقدام به نمایش پیغام بالا می کند.
    &lt;%
    filepath = server.MapPath&#40;"database.mdb"&#41;
    set conn = server.CreateObject&#40;"ADODB.Connection"&#41;
    conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp; filepath
    Set rs = conn.Execute&#40;"select * from tblinfo where fld_name='masoud'"&#41;
    response.write&#40;rs&#40;"fld_address"&#41;&#41;
    %>

    برای رفع این خطا کافیست پیش از استفاده از رکورد های یافت شده٬ وجود یا عدم وجود رکورد را چک کرده٬ در صورت یافت رکورد٬ ادامه کد را اجرا کنید. بدین شکل:
    &lt;%
    filepath = server.MapPath&#40;"database.mdb"&#41;
    set conn = server.CreateObject&#40;"ADODB.Connection"&#41;
    conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp; filepath
    Set rs = conn.Execute&#40;"select * from tblinfo where fld_name='masoud'"&#41;
    if not rs.eof then
    response.write&#40;rs&#40;"fld_address"&#41;&#41;
    else
    response.write&#40;"error message"&#41;
    end if
    %>

    درصورتی که از درستی کد خود اطمینان دارید آخرین نسخه از MDAC ( http://msdn.microsoft.com/data/downl...ault.aspx#MDAC ) را نصب کنید. در بعضی موارد به روز نبودن MDAC باعث بوجود آمدن خطای یاد شده می شود.

  22. #22
    Active Server Pages error 'ASP 0116 &#58; 0x80004005'  
    Missing close of script delimiter
    /&lt;file>.asp, line &lt;line>
    The Script block lacks the close of script tag &#40;%>&#41;.

    یا
    Active Server Pages, ASP 0116 &#40;0x80004005&#41; 
    The Script block lacks the close of script tag &#40;%>&#41;

    همانطور که از متن خطا مشخص است گاهی مواقع تگ پایانی ASP (&lt;٪) در برنامه نوشته نمیشود. در این حالت برنامه اجرا نشده و پیغامی مشابه پیامهای بالا نمایش داده می شود.
    مسلما برای رفع این خطا کافیست تگ انتهایی وارد شود.

  23. #23
    Active Server Pages, ASP 0127 &#40;0x80004005&#41; 
    The HTML comment or server-side include lacks the close tag &#40;-->&#41;.

    برای تعریف یک فایل include میبایست بدین شکل عمل کرد.
    &lt;!--#include file=YourIncludeFile--> 

    یا
    &lt;!--#include virtual=/YourIncludeFile-->

    اگر به هنگام کدنویسی تگ پایانی این عبارت (&lt;--) وارد نشود٬ با خطایی مشابه خطای فوق مواجه خواهیم شد. واضح است که برای رفع این خطا کافیست تگ انتهایی (&lt;--) وارد کنیم.
    برای مثال کد زیر باعث نمایان شدن خطای فوق می شود:
    &lt;!--#include file=functions.asp

    که برای تصحیح آن بدین شکل عمل می کنیم:
    &lt;!--#include file=foo.asp-->

  24. #24
    Active Server Pages, ASP 0128 &#40;0x80004005&#41; 
    Missing File or Virtual attribute
    The Include file name must be specified using either the File or Virtual attribute.

    همانطور که در توضیح خطای قبل اشاره شد٬ نحوه تعریف فایلهای include به یکی از شکل های زیر است:
    &lt;!--#include file=YourIncludeFile--> 

    یا
    &lt;!--#include virtual=/YourIncludeFile-->

    خطای فوق زمانی رخ میدهد که یکی از بخشهای اصلی تعریف include وارد نشده باشد. برای مثال کد زیر خطای فوق را نمایان می کند:
    &lt;!--#include=functions.asp--> 

    همانطور که مشاهده می کنید در تعریف بالا یک کلمه وارد نشده است (کلمه file). برای رفع این خطا کافیست کد نوشته شده خود را با شکل کلی تعریف include مقایسه کرده و بخشهای نوشته نشده آن را کامل کنید.
    برای مثال تصحیح شده کد فوق بدین شکل است.
    &lt;!--#include file=functions.asp--> 

  25. #25
    Active Server Pages, ASP 0135 &#40;0x80004005&#41; 
    The file '&lt;file.asp>' is included by itself &#40;perhaps indirectly&#41;. Please
    check include files for other Include statements.

    این خطا زمانی رخ می دهد که در فایل Include مورد استفاده به خود همون فایل اشاره شده باشد (در بعضی مواقع به طور غیر مستقیم)
    برای روشن تر شدن دلیل این خطا به مثال های زیر توجه کنید.

    مثال 1 :
    در فایلی با نام Test.asp کد زیر را قرار دهید:
    &lt;!--#include file=test.asp--> 

    با اجرا کردن این فایل خطای فوق نمایان خواهد شد.
    برنامه به هنگام اجرای کد فایل test.asp محتویات خود را فرا میخواند و به این ترتیب حلقه ای بی انتها پدید می آید که باعث بروز چنین خطایی می شود.

    مثال 2 :
    در فایلی با نام Test1.asp کد زیر را قرار دهید:
    &lt;!--#include file=test2.asp--> 

    در فایلی با نام Test2.asp کد زیر را قرار دهید:
    &lt;!--#include file=test1.asp--> 

    حال با اجرا کردن فایل test1.asp خطای فوق نمایان می شود.
    برنامه به هنگام اجرای کد فایل test1.asp محتویات فایل test2.asp را فرا میخواند و چون در فایل test2.asp به کدهای داخل فایل test1.asp اشاره شده است٬ به این ترتیب حلقه ای بی انتها پدید می آید که باعث بروز چنین خطایی می شود.

    اشاره به کدهای یک فایل در همان فایل٬ کاری بیهوده و غیر منطقی است. لذا با بازنگری مجدد کدهای وارد شده (بخش های Include) حلقه بوجود آمده را از بین ببرید.

  26. #26
    Active Server Pages, ASP 0137 &#40;0x80004005&#41; 
    Script blocks must be one of the allowed Global.asa procedures. Script
    directives within &lt;% ... %> are not allowed within the Global.asa file. The
    allowed procedure names are Application_OnStart, Application_OnEnd,
    Session_OnStart, or Session_OnEnd.

    همانطور که از متن خطا مشخص است٬ برنامه نویس مجاز به استفاده از تگهای &lt;% و %> در فایل Global.asa نیست.
    در فایل مذکور تنها امکان استفاده از رویه های Application_OnStart و Application_OnEnd و Session_OnStart و Session_OnEnd را داریم.

  27. #27
    Active Server Pages, ASP 0120 &#40;0x80004005&#41; 
    The Runat attribute of the Script tag or Object tag can only have the value 'Server'.

    کدهایی که باعث بروز این خطا می شوند به شرح زیر هستند:
    object runat=client>

    یا
    &lt;script language="VBScript" runat=client>

    مطمئنا متوجه دلیل بوجود آمدن خطا شده اید. همانطور که می دانید خصوصیت runat تنها یک آیتم دارد و آن server است. به یاد داشته باشید استفاده از runat=server برای زمانیست که لازم است آن بخش از کد برنامه سمت سرور ترجمه شود. در صورتی که نیازی به ترجمه کد سمت سرور وجود ندارد (ترجمه سمت client مورد نظر باشد) نیازی به نوشتند runat نبوده و به صورت پیش فرض client در نظر گرفته می شود.

  28. #28
    کاربر دائمی آواتار 3nitro
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    380
    در مورد این خطا و نحوه برطرف کردنش لطفا توضیح بدید :

    Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

    &#91;Microsoft&#93;&#91;ODBC Microsoft Access Driver&#93; Data type mismatch in criteria expression.

    /verify.asp, line 20



  29. #29
    آقای 3nitro شرمنده من پست شما رو ندیده بودم وگرنه زودتر پاسخ می دادم. :sorry:
    Microsoft JET Database Engine &#40;0x80040E07&#41;
    Data type mismatch in criteria expression.

    خطای فوق به علت عدم تطابق در نوع داده ها بوجود می آید. برای توضیح این خطا با یک مثال جلو می رویم.
    جدول فرضی ما در اکسس:
    Table Name&#58; tbltest
    Field Name&#58; , Type&#58;
    fldnumber , Number
    fldtext , Text
    flddate , Date/Time
    fldbol , Yes/No

    همانظور که می دانید برای نسبت دادن مقدار رشته ای در دستورات SQL می بایست از علامت ' استفاده نمود و استفاده اشتباه از آن باعث بروز خطای مورد اشاره می گردد. در کدهای زیر نوع فیلدها رشته ای نیست و به همین علت باعث بروز چنین خطایی می شوند.
    "Select * from tbltest where fldnumber='1'"

    "Select * from tbltest where flddate='1'"

    "Select * from tbltest where fldbol='1'"

    در صورتی که نحوه صحیح نوشتن کدهای فوق به ترتیب به شکل زیر است:
    "Select * from tbltest where fldnumber=1"

    "Select * from tbltest where flddate=#2005/06/21#"

    "Select * from tbltest where fldbol=True"

    این ناهماهنگی تنها به نوع رشته ای و بانکهای اکسس محدود نمی شود و می توان در مواردی دیگر نیز بحث کرد.
    جهت رفع این خطا کافیست به موارد ذکر شده و استفاده بجا از کاراکترهایی چون ' و # و ... دقت کرد.

    امیدوارم به جوابتون رسیده باشید :)

  30. #30
    کاربر دائمی آواتار esi022
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    علم چال
    پست
    338
    سلام
    تمامی مراحل رو چک می کنم
    تو win200 مشکلی نیست
    اما تو win2003 مشکل دارم
    به user ها هم دسترسی دادم همه جوره
    dll هم صحیح رجیستر شده
    پیغام :
    Server object error 'ASP 0177 : 800401f3'
    Server.CreateObject Failed
    Invalid class string

  31. #31
    Response object error 'ASP 0251 : 80004005' <!-- Active Server Pages, ASP 0251 (0x80004005) -->
    Response Buffer Limit Exceeded
    Execution of the ASP page caused the Response Buffer to exceed its configured limit.

    دلیل اصلی برای نمایش خطای فوق این است که برنامه نویس سعی می کند مقدار رشته ای با طول زیادی را با استفاده از Response.write چاپ کند. برای جلوگیری از بروز این خطا بهتر آن است که برای انجام چنین کاری (نمایش مقادیر رشته ای با طول زیاد) از یک متغیر استفاده نکرده و این مقدار را در چند متغیر ذخیره کنید و سپس آن را چاپ نمایید.

  32. #32
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    iran-tehran
    پست
    59
    آقای غیبی،خسته نباشد

  33. #33
    Active Server Pages error 'ASP 0130' 
    Invalid File attribute
    /<file>.asp, line <line>
    File attribute '/<file>.asp' cannot start with forward
    slash or back slash.

    یا
    Active Server Pages error 'ASP 0131' 
    Disallowed Parent Path
    /<file>.asp, line <line>
    The Include file '../<file>.asp' cannot contain '..' to
    indicate the parent directory.

    این خطا که به تازگی با آن برخورد کردم مربوط میشه به یکی از تنظیمات امنیتی IIS به نام parent paths . در تنظیمات IIS برای جلوگیری از بعضی سو استفاده ها و بالا بردن ضریب امنیت این مورد را غیر فعال می کنند. بدین معنی که دیگر برای آدرس دهی به فایل خاصی نمی توان از .. استفاده کرد. (این مورد در IIS 6 طور پیش فرض به صورت فعال وجود دارد)
    برای حل این مشکل دو راه وجود دارد:
    1. گزینه Enable parent paths را در Application Configuration تیک بزنید.



    2. برای آدرس دهی از آدرسهای virtual استفاده کنید..
    برای مثال برای includeها بدین شکل:
    <!--#Include Virtual=/VirtualName/Anyfile.asp-->
    آخرین ویرایش به وسیله M-Gheibi : دوشنبه 14 شهریور 1384 در 23:06 عصر

  34. #34
    کاربر دائمی آواتار MOHSEN731
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    147
    با سلام :
    وقتی فایل بر روی سرور من کد زیر :
    <!--#include file="../home/index.asp"-->
    را وارد می کنم خطا میزند ولی وقتی کد :
    <!--#include file="home/index.asp"-->
    را وارد می کنم خطا برطرف میشود در صورتیکه در iis,pws هر دو کار میکند همچنین قابل ذکر است که در دو مسیر فایل مربوطه وجود دارد و مسیر صحیح است فکر کنم خطا به خاطر "../" است که من استقاده کردم ولی وقتی از <!--#include virtual="home/index.asp"--> هم استفاده کردم مشکل حل نشد پس چگونه من می توانم به یک فایل در شاخه قبلی ام include شوم.
    ممنون

  35. #35
    دقیقا چه خطایی می دهد؟ متن کامل خطا

  36. #36
    کاربر دائمی آواتار MOHSEN731
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    147
    خطای HTTP 500 - Internal server error .
    البته من گزینه در لیست Settings آیتم Show friendly HTTP error messages را غیر فعال کردم ولی باز همان خطای 500 را میزند و توضیحی برای نوع خطانمی دهد.
    ممنون

  37. #37
    این خطا چرا بوجود میاید :
     
    Microsoft OLE DB Provider for ODBC Drivers error '8007000e'

    [Microsoft][ODBC Microsoft Access Driver] System resource exceeded.


  38. #38
    کاربر تازه وارد آواتار parandeh1383
    تاریخ عضویت
    تیر 1383
    محل زندگی
    تهران
    پست
    77

    Exclamation error

    من در صفحه مرورگر به خطایی برخوردم که تا به حال ندیده بودم. اگر ممکنه راهنماییم کنید.
    Could not load type ASP.Global_asax from assembly nlqyinpe, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
    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.TypeLoadException: Could not load type ASP.Global_asax from assembly nlqyinpe, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.

    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.
    ...
    با تشکر

  39. #39
    این مربوط به asp.net میشود. لطفا در بخش مربوط به آن مطرح کنید.

  40. #40
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    39
    سلام. من میخوام امکان دانلود فایلهای Zip شده را توی صفحه وب ام قرار بدم. اما وقتی مسیر رو واسه دانلود یه فایل مشخص می کنم یه صفحه با error زیر نمایش داده میشه:

    access is denied..... شماره error هم 401 یا 401.2 هست. خودم فکر میکنم مربوط به تنظیم خاصی رو ویندوز سرورمه.... در ضمن باید بگم که بخش file download هم در IE Properties فعاله و من با ASP سایتم رو ایجاد کردم.

صفحه 1 از 2 12 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •