.Net核心应用程序中的Microsoft Hive ODBC驱动程序失败

问题描述

我正在使用Microsoft Hive ODBC驱动程序(v2.6.7)从我的.net核心应用程序(netcoreapp3.1)从Windows Azure HDInsight服务获取数据。经过数百次成功的查询后,我的应用程序崩溃了,退出代码为-1,073,740,791(0xffffffff),没有引发任何异常。在Windows事件日志中,我看到以下错误

Faulting application name: dotnet.exe,version: 3.100.119.60804,time stamp: 0x5dedc132
Faulting module name: HiveODBC64.dll,version: 2.6.7.1007,time stamp: 0x5d6978a4
Exception code: 0xc0000409
Fault offset: 0x0000000000c86dfc
Faulting process id: 0x4fb8
Faulting application start time: 0x01d68683f7412b76
Faulting application path: C:\Program Files\dotnet\dotnet.exe
Faulting module path: C:\Program Files\Microsoft Hive ODBC Driver\lib\HiveODBC64.dll
Report Id: b7354942-fdf5-4bdd-bab4-f26418c83f04
Faulting package full name: 
Faulting package-relative application ID: 

在ODBC驱动程序日志中,我看到:

Sep 09 11:49:45.082 DEBUG 9252 HardyTCLIServiceUtils::ThrowOnNotSuccess: Backend returned non-SUCCESS status for operation GetColumns: 
    TStatus.statusCode=ERROR_STATUS
    TStatus.infoMessages="*java.nio.BufferUnderflowException:null:35:34""java.nio.Buffer:nextGetIndex:Buffer.java:506""java.nio.HeapByteBuffer:getLong:HeapByteBuffer.java:425""org.apache.hive.service.cli.HandleIdentifier:<init>:HandleIdentifier.java:46""org.apache.hive.service.cli.Handle:<init>:Handle.java:38""org.apache.hive.service.cli.SessionHandle:<init>:SessionHandle.java:45""org.apache.hive.service.cli.SessionHandle:<init>:SessionHandle.java:41""org.apache.hive.service.cli.thrift.ThriftCLIService:GetColumns:ThriftCLIService.java:600""org.apache.hive.service.cli.thrift.TCLIService$Processor$GetColumns:getResult:TCLIService.java:1497""org.apache.hive.service.cli.thrift.TCLIService$Processor$GetColumns:getResult:TCLIService.java:1482""org.apache.thrift.ProcessFunction:process:ProcessFunction.java:39""org.apache.thrift.TBaseProcessor:process:TBaseProcessor.java:39""org.apache.thrift.server.TServlet:doPost:TServlet.java:83""org.apache.hive.service.cli.thrift.ThriftHttpServlet:doPost:ThriftHttpServlet.java:206""javax.servlet.http.HttpServlet:service:HttpServlet.java:727""javax.servlet.http.HttpServlet:service:HttpServlet.java:820""org.eclipse.jetty.servlet.ServletHolder:handle:ServletHolder.java:565""org.eclipse.jetty.servlet.ServletHandler:doHandle:ServletHandler.java:479""org.eclipse.jetty.server.session.SessionHandler:doHandle:SessionHandler.java:225""org.eclipse.jetty.server.handler.ContextHandler:doHandle:ContextHandler.java:1031""org.eclipse.jetty.servlet.ServletHandler:doScope:ServletHandler.java:406""org.eclipse.jetty.server.session.SessionHandler:doScope:SessionHandler.java:186""org.eclipse.jetty.server.handler.ContextHandler:doScope:ContextHandler.java:965""org.eclipse.jetty.server.handler.ScopedHandler:handle:ScopedHandler.java:117""org.eclipse.jetty.server.handler.HandlerWrapper:handle:HandlerWrapper.java:111""org.eclipse.jetty.server.Server:handle:Server.java:345""org.eclipse.jetty.server.Abstracthttpconnection:handleRequest:Abstracthttpconnection.java:449""org.eclipse.jetty.server.Abstracthttpconnection$RequestHandler:content:Abstracthttpconnection.java:925""org.eclipse.jetty.http.HttpParser:parseNext:HttpParser.java:857""org.eclipse.jetty.http.HttpParser:parseAvailable:HttpParser.java:235""org.eclipse.jetty.server.Asynchttpconnection:handle:Asynchttpconnection.java:76""org.eclipse.jetty.io.nio.SelectChannelEndPoint:handle:SelectChannelEndPoint.java:609""org.eclipse.jetty.io.nio.SelectChannelEndPoint$1:run:SelectChannelEndPoint.java:45""java.util.concurrent.ThreadPoolExecutor:runWorker:ThreadPoolExecutor.java:1149""java.util.concurrent.ThreadPoolExecutor$Worker:run:ThreadPoolExecutor.java:624""java.lang.Thread:run:Thread.java:748"
    TStatus.sqlState=
    TStatus.errorCode=0
    TStatus.errorMessage=""
    TStatus.__isset.errorCode: false
    TStatus.__isset.errorMessage: false
    TStatus.__isset.infoMessages: true
    TStatus.__isset.sqlState: false
Sep 09 11:49:45.082 TRACE 9252 HardyTable::~HardyTable: +++++ enter +++++
Sep 09 11:49:45.082 TRACE 9252 HardyResultSetBase::~HardyResultSetBase: +++++ enter +++++
Sep 09 11:49:45.082 INFO  9252 HardyDataEngine::Prepare: Exception caught while parsing statement: [Microsoft][Hardy] (61) Server returned error with no error message during operation: GetColumns 
    TStatus.statusCode=ERROR_STATUS
    TStatus.infoMessages="*java.nio.BufferUnderflowException:null:35:34""java.nio.Buffer:nextGetIndex:Buffer.java:506""java.nio.HeapByteBuffer:getLong:HeapByteBuffer.java:425""org.apache.hive.service.cli.HandleIdentifier:<init>:HandleIdentifier.java:46""org.apache.hive.service.cli.Handle:<init>:Handle.java:38""org.apache.hive.service.cli.SessionHandle:<init>:SessionHandle.java:45""org.apache.hive.service.cli.SessionHandle:<init>:SessionHandle.java:41""org.apache.hive.service.cli.thrift.ThriftCLIService:GetColumns:ThriftCLIService.java:600""org.apache.hive.service.cli.thrift.TCLIService$Processor$GetColumns:getResult:TCLIService.java:1497""org.apache.hive.service.cli.thrift.TCLIService$Processor$GetColumns:getResult:TCLIService.java:1482""org.apache.thrift.ProcessFunction:process:ProcessFunction.java:39""org.apache.thrift.TBaseProcessor:process:TBaseProcessor.java:39""org.apache.thrift.server.TServlet:doPost:TServlet.java:83""org.apache.hive.service.cli.thrift.ThriftHttpServlet:doPost:ThriftHttpServlet.java:206""javax.servlet.http.HttpServlet:service:HttpServlet.java:727""javax.servlet.http.HttpServlet:service:HttpServlet.java:820""org.eclipse.jetty.servlet.ServletHolder:handle:ServletHolder.java:565""org.eclipse.jetty.servlet.ServletHandler:doHandle:ServletHandler.java:479""org.eclipse.jetty.server.session.SessionHandler:doHandle:SessionHandler.java:225""org.eclipse.jetty.server.handler.ContextHandler:doHandle:ContextHandler.java:1031""org.eclipse.jetty.servlet.ServletHandler:doScope:ServletHandler.java:406""org.eclipse.jetty.server.session.SessionHandler:doScope:SessionHandler.java:186""org.eclipse.jetty.server.handler.ContextHandler:doScope:ContextHandler.java:965""org.eclipse.jetty.server.handler.ScopedHandler:handle:ScopedHandler.java:117""org.eclipse.jetty.server.handler.HandlerWrapper:handle:HandlerWrapper.java:111""org.eclipse.jetty.server.Server:handle:Server.java:345""org.eclipse.jetty.server.Abstracthttpconnection:handleRequest:Abstracthttpconnection.java:449""org.eclipse.jetty.server.Abstracthttpconnection$RequestHandler:content:Abstracthttpconnection.java:925""org.eclipse.jetty.http.HttpParser:parseNext:HttpParser.java:857""org.eclipse.jetty.http.HttpParser:parseAvailable:HttpParser.java:235""org.eclipse.jetty.server.Asynchttpconnection:handle:Asynchttpconnection.java:76""org.eclipse.jetty.io.nio.SelectChannelEndPoint:handle:SelectChannelEndPoint.java:609""org.eclipse.jetty.io.nio.SelectChannelEndPoint$1:run:SelectChannelEndPoint.java:45""java.util.concurrent.ThreadPoolExecutor:runWorker:ThreadPoolExecutor.java:1149""java.util.concurrent.ThreadPoolExecutor$Worker:run:ThreadPoolExecutor.java:624""java.lang.Thread:run:Thread.java:748"
    TStatus.sqlState=
    TStatus.errorCode=0
    TStatus.errorMessage=""
    TStatus.__isset.errorCode: false
    TStatus.__isset.errorMessage: false
    TStatus.__isset.infoMessages: true
    TStatus.__isset.sqlState: false

有什么方法可以避免此错误?还是至少要抓住我的dotnet应用程序内的错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)