ورود

View Full Version : حرفه ای: Failed to load Msxml2.dll



shafagh_82
پنج شنبه 08 مهر 1389, 13:49 عصر
سلام دوستان!
من روی یک پروژه اتوماسیون اداری بزرگ کار میکنم که با زبان سی شارپ Vs2005 و اسکیوال 2000 نوشته شده است دلیلش هم این است که این پروژه از 6 یا 7 سال قبل شروع شده و هنوز هم در حال ادامه ست و به همین دلیل ورژن اسکیوال اون قدیمی هست! تا حالا که برنامه روی ویندوز ایکس پی کار میکرد مشکلی نداشت ولی با انتقال به ویندوز 7 در بخش هایی از برنامه که روال صدا شده در دیتابیس از دستورات کار کردن با ایکس ام ال مثل Openxml استفاده کرده است خطای:

Failed to load Msxml2.dll.
at System.Data.SqlClient.SqlConnection.OnError(SqlExc eption exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnErro r(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndW arning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaDat a()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteRead er(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderT ds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader( CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader( CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(Com mandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataRead er(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbComman d.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable)
at gf.a(String A_0, String A_1, SqlParameter[] A_2)
مشاهده می شود. این مشکل برای من خیلی حیاتیست! لطفا اگر میتونید سریعتر کمک کنید!
قابل ذکره که به دلیل بزرگی و پیچیدگی سیستم انتقال اون به اسکیوال 2005 در حال حاضر ممکن نیست!
پیشاپیش از وقتی که برای انی تاپیک گذاشتید ممنونم!:قلب:

shafagh_82
پنج شنبه 08 مهر 1389, 13:50 عصر
البته این رو هم بگم که با توجه به جستجوهایی که انجام دادم برنامه msxml2.msi رو هم دانلود کرده و نصب کردم ولی نتیجه ای نداد و مشکل همچنان به قوت خودش باقیست!

shafagh_82
شنبه 10 مهر 1389, 07:54 صبح
از مدیران سایت کسی نمیتونه به من کمک کنه؟ آیا باید sp3 رو نصب کرد؟

AminSobati
شنبه 10 مهر 1389, 20:09 عصر
دوست عزیز ظاهرا این پیغامی هست که ADO نمایش میده. پیشنهاد میکنم همین کار رو در خود Query Analyzer انجام بدین ببینین چه خطایی بدست میاد

shafagh_82
یک شنبه 11 مهر 1389, 13:54 عصر
از پاسختون خیلی ممنونم!
من امروز رو دسترسی به ویندوز 7 ندارم! و باید سر فرصت این کاری که گفتید رو بررسی کنم, ولی میخوام بدونم اگر قضیه درست انجام شد یا اگر نشد, حدس شما و احیانا پیشنهادتون چیه؟

AminSobati
یک شنبه 11 مهر 1389, 22:34 عصر
تا مشخص نشدن نتیجه نمیشه حدسی زد

shafagh_82
سه شنبه 13 مهر 1389, 08:19 صبح
سلام! من کویری رو نوشتم و در آنالایزر اجرا کردم. خطایی که به من میده این هست:


Server: Msg 6610,Level 16, State 1,Proceduresp_xml_preparedocument, Line 6
Failed toload Msxml2.dll.

shafagh_82
سه شنبه 13 مهر 1389, 12:41 عصر
توضیحات تکمیلی:
با توجه به جستجوهایی که انجام دادم بهترین موردی که با مشکل من مطابقت داشت رو در لینک زیر پیدا کردم:
http://beta.codeproject.com/Messages/3504226/SQL2000-XML.aspx
در بخش دوم که عنوانش Sql2000 هست در پاسخ به سوال گفته شده که msxml2.dll رو رجیستر کنید من خواستم رجیستر کنم که خطایی که همونجا هم گفته مشاهده کردم:


(The module "c:\windows\System32\msxml2.dll"




failed to load

Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .dll files


A dynamic link library (dll) initialization routine failed.)


در جواب این مشکل این رو نوشته:


You were logged in as an administrator while registering the library?






This (http://support.microsoft.com/kb/276426)[^ (http://support.microsoft.com/kb/276426)] kb-article suggests that it might be caused by the wrong MDAC version, an update is available here (http://support.microsoft.com/kb/300635/EN-US/)[^ (http://support.microsoft.com/kb/300635/EN-US/)]. That update should also replace the MSXML2.DLL library, without the need to register it by hand.


Hope this helps




حالا منظورش از wrong MDAC version چیه؟!!!!!!!!:متفکر:
چون مثل اینکه بعدش مشکل طرف حل شده!!!