尝试在Windows 10上的Excel 2016 for Windows中使用精确在线适配器执行下面的查询时出现错误无法为客户检索对象元数据。错误代码 itgeneor003 。
create or replace table customers@inmemorystorage
as
select act.id ctr_id
, act.code ctr_code
, act.name ctr_name
, prt.code parent_code
, prt.name parent_name
from exactonlinerest..Accounts act
left
outer
join exactonlinerest..accounts prt
on prt.id = act.parent
我们得到了下面的stacktrace异常:
Type: Invantive.Configuration.InvantiveSystemException
bij Invantive.Configuration.ValidationException..ctor(String errorCode, String errorMessage, String kindRequest, String localStackTrace, String nk, Exception innerException)
bij Invantive.Configuration.InvantiveSystemException..ctor(String validationCode, String errorMessage, String kindRequest, String stackTrace, String nk, Exception innerException)
bij Invantive.Data.ExactOnlineProvider.GetObjectMetadataForCall(EntityFieldCollection entityFields, EntityFieldCollection& correctedEntityFields)
bij Invantive.Data.ExactOnlineProvider.InsertReturnAffectedCount(EntityFieldCollection entityFields, ParameterList values, Int32& result)
bij Invantive.Data.ConnectionManager.ExecuteProviderInsertReturnAffectedCount(EntityFieldCollection entityFields, ParameterList values, String& handlingPath)
bij Invantive.Data.ConnectionManager.InsertQueryWithAffectedCount(EntityFieldCollection entityFields, ParameterList values)
bij Invantive.Sql.DdlStatementTree.OnExecute(ParameterList parameters, ExpressionParser expressionParser)
bij Invantive.Sql.QueryTree.Execute(ParameterList parameters, ExpressionParser expressionParser)
bij Invantive.Sql.QueryPlan.ForcePlan()
bij Invantive.Sql.QueryPlan.get_Fields()
bij Invantive.Data.ConnectionManager.ExecuteProviderPassthroughSqlActionTable(String actionSql, ParameterList parameters, String& handlingPath)
bij Invantive.Data.ConnectionManager.PassthroughSqlActionTable(String actionSql, ParameterList parameters)
bij Invantive.Data.ActionProceduresBase.PassthroughSqlActionTable(String actionSql, ParameterList parameters)
bij Invantive.Producer.Windows.Forms.QueryTool.ExecuteStatement(IProgressNotifier notifier, String statement, ParameterList bindVariables, Boolean showResultsInGrid, Boolean showStatistics, Boolean memorizeStatisticsInSqlHistory, Boolean allowPaging)
bij Invantive.Producer.Windows.Forms.QueryTool.FetchResultsFromSql()
bij Invantive.Producer.Windows.Forms.QueryTool.<>c__DisplayClass109_0.<FetchData>b__0()
bij System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bij System.Threading.ThreadHelper.ThreadStart()
bij Invantive.Data.ExactOnlineProvider.GetObjectMetadataForCall(EntityFieldCollection entityFields, EntityFieldCollection& correctedEntityFields) in File299:regel 1791
bij Invantive.Data.ExactOnlineProvider.InsertReturnAffectedCount(EntityFieldCollection entityFields, ParameterList values, Int32& result) in File299:regel 1054
bij Invantive.Data.ConnectionManager.ExecuteProviderInsertReturnAffectedCount(EntityFieldCollection entityFields, ParameterList values, String& handlingPath) in File39:regel 3413
bij Invantive.Data.ConnectionManager.InsertQueryWithAffectedCount(EntityFieldCollection entityFields, ParameterList values) in File39:regel 1529
bij Invantive.Sql.DdlStatementTree.OnExecute(ParameterList parameters, ExpressionParser expressionParser) in File121:regel 216
bij Invantive.Sql.QueryTree.Execute(ParameterList parameters, ExpressionParser expressionParser) in File141:regel 100
bij Invantive.Sql.QueryPlan.ForcePlan() in File140:regel 77
bij Invantive.Sql.QueryPlan.get_Fields() in File140:regel 65
bij Invantive.Data.ConnectionManager.ExecuteProviderPassthroughSqlActionTable(String actionSql, ParameterList parameters, String& handlingPath) in File39:regel 4021
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bij Invantive.Data.ConnectionManager.ExecuteProviderPassthroughSqlActionTable(String actionSql, ParameterList parameters, String& handlingPath) in File39:regel 4053
bij Invantive.Data.ConnectionManager.PassthroughSqlActionTable(String actionSql, ParameterList parameters) in File39:regel 2093
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bij Invantive.Data.ConnectionManager.PassthroughSqlActionTable(String actionSql, ParameterList parameters) in File39:regel 2107
bij Invantive.Data.ActionProceduresBase.PassthroughSqlActionTable(String actionSql, ParameterList parameters) in File29:regel 134
bij Invantive.Producer.Windows.Forms.QueryTool.ExecuteStatement(IProgressNotifier notifier, String statement, ParameterList bindVariables, Boolean showResultsInGrid, Boolean showStatistics, Boolean memorizeStatisticsInSqlHistory, Boolean allowPaging) in File949:regel 2825
bij Invantive.Producer.Windows.Forms.QueryTool.FetchResultsFromSql() in File949:regel 2451
答案 0 :(得分:1)
当InMemoryStorage提供程序不可用时,可以重现该错误。虽然消息令人困惑,但它表示在创建内存表期间发生了错误。
请确保InMemoryStorage提供商可用且已获得许可。一些方法:
查看Invantive Control查询工具中的可用对象列表,它应列出InMemoryStorage提供程序,如下所示:
请注意,您的PC可能无法使用转换提供程序;它仅适用于平台之间的复杂数据转换。
或使用以下方式查询可用性:
select *
from exactonlinerest..systemproviders
结果列表应显示它:
如果没有,请检查您使用的产品。使用Invantive Control,它应始终可用(请参阅帮助 - &gt;许可 - >组件),但例如使用Invantive Query Tool时,它不可用。使用拥有它的产品并确保您的许可证也包含它。