Windows XP 上的错误 [IM002] [Microsoft][ODBC 驱动程序管理器]
Posted
技术标签:
【中文标题】Windows XP 上的错误 [IM002] [Microsoft][ODBC 驱动程序管理器]【英文标题】:ERROR [IM002] [Microsoft][ODBC Driver Manager] on Windows XP 【发布时间】:2013-08-07 12:24:18 【问题描述】:我制作了一个通过 ODBC 访问一些数据库的 VB.NET 程序。在 Windows 7 机器上它工作正常。在它安装的 Windows XP 机器上,但是当它打开应用程序时,会发生此错误。我在 Visual Studio 2012 上开发了这个,Windows 7 和 Windows XP 都是 x86,并且都具有我试图访问的相同系统 DSN。我到处寻找,但没有针对我的问题。有任何想法吗?提前致谢!
************** Exception Text **************
System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.Odbc.OdbcConnection.Open()
at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at CRManager.DataSet3TableAdapters.PartitionsSetTableAdapter.Fill(PartitionsSetDataTable dataTable)
at CRManager.Form1.Form1_Load(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3649 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Crystal Reports Manager
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Documents%20and%20Settings/jose.laverde/Local%20Settings/Apps/2.0/BOZHZTXY.AG4/CEDJGE66.BYJ/crys..tion_d4261ff73e300d69_0001.0001_e75947b0658a5fbd/Crystal%20Reports%20Manager.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3644 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3645 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3644 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Microsoft.VisualBasic.PowerPacks.Vs
Assembly Version: 10.0.0.0
Win32 Version: 11.0.50727.1
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic.PowerPacks.Vs/10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.PowerPacks.Vs.dll
----------------------------------------
CrystalDecisions.Windows.Forms
Assembly Version: 13.0.2000.0
Win32 Version: 13.0.5.891
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/CrystalDecisions.Windows.Forms/13.0.2000.0__692fbea5521e1304/CrystalDecisions.Windows.Forms.dll
----------------------------------------
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3650 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
CrystalDecisions.Shared
Assembly Version: 13.0.2000.0
Win32 Version: 13.0.5.891
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/CrystalDecisions.Shared/13.0.2000.0__692fbea5521e1304/CrystalDecisions.Shared.dll
----------------------------------------
CrystalDecisions.ReportSource
Assembly Version: 13.0.2000.0
Win32 Version: 13.0.5.891
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/CrystalDecisions.ReportSource/13.0.2000.0__692fbea5521e1304/CrystalDecisions.ReportSource.dll
----------------------------------------
log4net
Assembly Version: 1.2.10.0
Win32 Version: 1.2.10.0
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/log4net/1.2.10.0__692fbea5521e1304/log4net.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3650 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Web
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3648 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
System.Data.DataSetExtensions
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.1 built by: SP
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Data.DataSetExtensions/3.5.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll
----------------------------------------
System.Core
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.1 built by: SP
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Transactions
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
【问题讨论】:
错误信息明确指出你的程序没有找到DSN。您是否将其设置为系统或用户 DSN?如果作为用户 DSN,是为其设置它的用户启动程序吗?这可能是位问题吗? 32 位程序看不到 16 位或 64 位位 DSN,反之亦然。 谢谢弗兰克。在 ODBC 数据源管理器上,它作为系统 DSN 出现在两者上。至于位大小,我如何检查DSN?我知道我正在测试的 Windows 7 和 Windows XP 操作系统都是 32 位操作系统。它适用于 Windows 7,但不适用于 XP,所以这就是为什么我不认为它会这样,但我一定会检查你是否告诉我如何。 参见support.microsoft.com/kb/942976 了解关于 64 位/32 位混淆的 soem 的描述。 谢谢弗兰克,通过这个我发现我确实缺少我在 Form_Load 中调用的 DSN。太感谢了!!!我是新手,如何将您的答案标记为正确答案? 您不能将评论标记为答案。我添加了一个你可以标记的答案。 【参考方案1】:感谢您的这篇文章,它解决了我的问题,尽管在我的情况下,我有一个 VB 项目在 SQLExpress 数据库上运行良好,但是当我尝试将连接字符串更改为 Access 数据库时给了我上述错误。但在另一个项目中,我连接到一个 Access 数据库就好了。设置了“任何 CPU”,我将其更改为“x86”,然后它对我有用。
【讨论】:
【参考方案2】:遇到同样的问题。在 Windows 7 64 位上有 1 个运行良好的 VB 项目。 开始了另一个项目,复制了我需要的代码,但它说找不到 DSN。阅读了弗兰克的评论后,我进入 VS 2010 中的配置管理器并添加了一个新的“任何 CPU”的“主动解决方案平台”,并重新运行了我的项目,一切正常。我的项目现在是 64 位,就像另一个有效的项目一样。
克里斯蒂安
【讨论】:
如果问题和答案对您有帮助,请投票!谢谢! :) 感谢这个答案。就我而言,连接字符串很好,但我必须将项目的位数与 64 位对齐。【参考方案3】:错误消息明确指出您的程序找不到 DSN。检查 DSN 的位数是否正确。有关 64 位/32 位混淆的一些描述,请参阅 http://support.microsoft.com/kb/942976。
【讨论】:
以上是关于Windows XP 上的错误 [IM002] [Microsoft][ODBC 驱动程序管理器]的主要内容,如果未能解决你的问题,请参考以下文章
php 64 位 SQL 状态 IM002 错误中的 MS Access DB
Windows XP 上的 Meteorite 安装错误 - 找不到“c:\Microsoft.Cpp.Default.props”
Windows XP SP3 上的错误 0x800706F7“存根收到错误数据”