我有一个.net应用程序中,我一直要求修改,它使用的.NET Framework 2.0ODBC Oracle错误
我已经安装一个ODBC DSN与连接的细节为我们的Oracle数据库我的本地机器上,测试的连接,它工作正常。
现在我运行我的应用程序,它没有问题,完成了,我检查了我们的错误日志,发现了一些与此问题无关的错误,但是这个错误没有显示出来。
因此,我用断点再次运行应用程序以获得这些错误。这一次,它与下面的错误坠毁
ERROR [IM004] [微软] [ODBC驱动程序管理器]驾驶的SQLAllocHandle 上SQL_HANDLE_ENV失败
现在是什么让我在这是,它只是跑罚款甚至不到10分钟前,我只加了一个断点。
我找到了几个答案,并给了他们一个镜头。
- 我设置Oracle驱动程序文件夹中的读/执行又比上重置权限并没有什么区别
- 我查了“路径”环境变量,它是精细
- 使用ODBC管理员我测试了连接没有错误。
- 验证连接字符串指向DSN仍然是正确的5.列表项
- 已验证我的应用程序设置为运行32位,因为驱动程序是32位。
我没有做的唯一的事情就是保存,关闭重新启动计算机,然后再试一次..我将在这篇文章后立即执行,如果它有效,我会发布。
无论如何,如果有人有任何想法可能会导致此行为,我会非常感谢你。
电脑是Win7的,.NET框架是2.0,这是VB.net,Oracle驱动程序为10g(10.2)
更新: 还好我用ODBC管理器删除DSN和重建。我跑了我的应用程序,它的工作。
我今天晚些时候回来后没有改变,重新运行应用程序,并再次得到错误。试图重建DSN并没有帮助,我试图重新启动,但没有帮助。
以下是堆栈跟踪。
StackTrace:
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()
你是否正确地处理了你的连接? – 2013-03-13 20:05:06
我检查了一下,我认为它可能不是,但似乎是我找不到任何未关闭的打开的东西。 – sarchbold 2013-03-13 20:15:01
你可以尝试用简单的ODBC调用创建一个非常简单的程序,并查看它是否有效?此外,微软过去有一个名为ODBCTest的应用程序,可让您直接调用所有API函数进行低级测试。看看你是否可以找到它并尝试它。另外,您是否尝试从ODBC管理面板开启ODBC跟踪并查看记录的内容? – OldProgrammer 2013-03-14 03:34:45