2013-08-06 2 views
1

Я создал программу VB.NET, которая обращается к некоторым базам данных через ODBC. На машине с Windows 7 она работает нормально. На компьютере с Windows XP он устанавливается, но когда он открывает приложение, эта ошибка возникает. Я разработал это на Visual Studio 2012, как Windows 7, так и Windows XP - x86, и у обоих есть те же системные DSN, к которым я пытаюсь получить доступ. Я везде искал, но ничего конкретного для моей проблемы. Есть идеи? Заранее спасибо!ERROR [IM002] [Microsoft] [Менеджер драйверов ODBC] в Windows XP

************** 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 
---------------------------------------- 
+0

В сообщении об ошибке четко указано, что ваша программа не находит DSN. Вы настроили его как системное или пользовательское DSN? Если в качестве пользователя DSN пользователь, для которого он был настроен, запускает программу? Это может быть проблема с биением? 16-битные бит DSN не могут быть видны 32-битными программами и наоборот. – FrankPl

+0

Спасибо, Фрэнк. В ODBC Datasource Administrator он выводится как системный DSN для обоих. Что касается размера бита, как я могу проверить это для DSN? Я знаю, что ОС Windows 7 и Windows XP, на которых я тестирую, это 32-разрядные ОС. Он работает на Windows 7, но не на XP, поэтому я и не думал, что это будет так, но я обязательно проверю, скажете ли вы мне. – jlaverde

+0

См. Http://support.microsoft.com/kb/942976 для описания порядка 64-битной/32-битной путаницы. – FrankPl

ответ

1

В сообщении об ошибке четко указано, что ваша программа не находит DSN. Убедитесь, что бит DSN правильно. См. http://support.microsoft.com/kb/942976 для описания некоторой путаницы 64 бит/32 бит.

1

Полученная же проблема. Имел 1 VB proj на Windows 7 64 бит, который работал нормально. Создал другой проект, скопировал код, который мне нужен, и он не смог сказать, что не смог найти DSN. Прочитав комментарий Фрэнка, я вошел в Configuration Manager в VS 2010 и добавил новую «активную платформу решения» для «Любой процессор» и повторно запустил мой проект, и все отлично работало. Мой проект теперь был 64 бит, как и другой проект, который работал.

Kristian

+0

Если у вас есть вопросы и ответы, пожалуйста, проголосуйте! Благодаря! :) – jlaverde

0

Спасибо за этот пост, это решить мою проблему, хотя в моем случае, у меня был VB проект, который работал отлично на базе SQLExpress но дал мне вышеуказанную ошибку, когда я попытался изменить соединение string в базу данных Access. Но в другом проекте я просто подключился к базе данных Access. «Любой процессор» был установлен, и я изменил его на «x86», а затем он работал для меня.

Смежные вопросы