Exact Online: itgensql035 & 不明なID 'CFD.ID'。次のいずれかを検討してください: ID, Modified

2026年8月4日以降、Invantive Bridge Onlineを通じたすべての呼び出しで次のメッセージを受け取ります:

itgensql035
未知のID ‘CFD.ID’。
次のいずれかを検討してください:ID、Modified。
(itgensql035, 2b4cfe89-a973-4292-b0bd-6795a10aea1f)

モニタリングタイムラインでは、このメッセージも表示されますが、その際のメッセージは次の通りです:

未知のID ‘CFD.ID’。
次のいずれかを検討してください:ID、Modified。(CFD.ID)

呼び出し元では何も変更していません。私たちはエンドポイント上のすべてのデータ、または変更されたデータ(Modified)を要求しています。

何が問題なのでしょうか?

情報を補足する

Meer inzicht met nieuwe Bridge Online Monitoring に記載されているように、Invantive Bridge Online Monitoring のリクエスト詳細の(匿名化された)スクリーンショットを追加することは可能ですか?

このトピックの主題となっているダウンロードリクエストをクリックすると、詳細が表示されます。

ダウンロードリクエストには通常、テーブル名が表示される SQL ステートメントがあります。

両方の列について、少なくとも次の情報を表示してください:

  • リクエストIDを含むタイトルバー。
  • 左列のステータスコード、ネットワークサイズ、パス、時間。
  • 左列の一番下にあるエラーコードとエラーメッセージ。
  • SQLステートメント、テーブル名、パラメーター値を含む右列全体。

例えば:

正しいサーバーとユーザーの確認

Power BI で使用されているのと同じ Bridge Online サイトに、同じユーザー名でログインしているかを注意深く確認してください。ウェブサイトにログインしている Invantive Cloud ユーザーのリクエストのみが表示されます。

使用中のサーバーは4つあります:

  • bridge-online.cloud
  • app-online.cloud
  • bridge-online.invantive.com
  • app-online.invantive.com

使用されているサーバーは、スクリプトやレポートのソースコード内で確認できます。

正しいリクエストと詳細の確認

詳細を表示するため、まずリクエストを選択していることを確認してください。スクリーンショットにはリクエストは1つのみ表示されるべきです。

また、リクエストが odata4 または apps のパスを持っているかを慎重に確認してください。それ以外のパスのリクエストは、この目的には通常関係ありません。

エラーメッセージおよびメールでのヒント

さらに、エラーメッセージが発生した場合、エラーメッセージとヒントを含むメールが、Power BI、Power Query、Azure Data Factory、Qlik、または Tableau でエラーメッセージを受け取った Invantive Cloud ユーザーのメールアドレスに送信されます。

関与しているユーザーのスパムを、support@invantive.com からのこれらのメールについて確認することをお勧めします。

添付されたのは、このエラーに関連するシステムメッセージのダウンロードのスクリーンショットです。

繰り返しますが、このエラーは先週の火曜日以降発生していますが、それ以前は見られませんでした。Invantive側や呼び出し側(Fabric)で資格情報や呼び出し方法などに変更はありません。

Invantiveデータベースには、Exact Onlineのカスタムフィールドを読み取るビューがあります(フォーラムで共有された手順に基づき、データベースの起動時に連携されるもの)。このビューはエラーに記載されているようにCFDのエイリアスを持っています。このビューは数ヶ月前から存在しています。

このビューの作成を削除した後、今日のデータロードは正常に行われました。

既にかなりの期間存在していたビューが、なぜ突然エラーを引き起こすようになったのでしょうか?

エラーメッセージをテキストとして追加してください、それは読みやすさと検索性を向上させます。ビューの定義を共有することは可能ですか?

エラーメッセージ全文は以下の通りです

ValidationException
Invantive.Basics.InvantiveSqlException
   at Invantive.Basics.ValidationException..ctor(GlobalState owner, ExecutionOptions executionOptions, String messageCode, String errorMessage, String kindRequest, String localStackTrace, String nk, Exception innerException, Boolean inheritMessageCodeWhenPresent, Nullable`1 uid, Nullable`1 isRecoverable, String poolIdentityId, String url, Nullable`1 partyUid, String partitionCode, String tableName, String parameter1, String parameter2, String parameter3, String parameter4, String parameter5, String clientId)
   at Invantive.Sql.V1.SqlSymbolTable.ThrowMissingSymbol(GlobalState owner, ExecutionOptions executionOptions, String alias, String name)
   at Invantive.Sql.V1.SqlSymbolTable.GetSymbol(GlobalState owner, ExecutionOptions executionOptions, String alias, String name)
   at Invantive.Sql.V1.ExpressionParser.LookupSymbol(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String alias, String name)
   at Invantive.Sql.V1.TransformToExpression.GetExpressionForField(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, ParserRuleContext context, String alias, String fieldName, Type& type, Nullable`1& isNullExpression, Boolean& isPSqlParameter, DatabaseColumn& field)
   at Invantive.Sql.V1.TransformToExpression.VisitFieldIdentifier(FieldIdentifierContext context)
   at Invantive.Sql.V1.TransformToExpression.VisitExpression(ExpressionContext context)
   at Invantive.Sql.V1.TransformToExpression.ParseExpression(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IParseTree tree, Type& expressionType, Boolean& isConstant, Object& data, Nullable`1& isNullable, Boolean& usesFields, DatabaseColumn[]& fieldsUsed)
   at Invantive.Sql.V1.ExpressionParser.ParseExpression(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IProviderManager manager, SqlEngine sqlEngine, IParseTree expression)
   at Invantive.Sql.V1.SelectStatementTree.GetProjectionMetadata(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, List`1 selectList, ExpressionParser exprParser)
   at Invantive.Sql.V1.SelectStatementTree.OnExecute(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SparseArrayPool sparseArrayPool, ParameterList parameters, QueryObject additionalFilters, ExpressionParser expressionParser, IQueryStatePerExecution queryStatePerExecution)
   at Invantive.Sql.V1.QueryTree.Execute(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, ParameterList parameters, QueryObject additionalFilters, ExpressionParser expressionParser, IQueryStatePerExecution queryStatePerExecution)
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
   at System.Lazy`1.CreateValue()
   at Invantive.Sql.V1.QueryPlan.ForcePlan(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Sql.V1.QueryPlan.GetFields(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Data.DataDictionaryProvider.A(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep, ObjectDefinition, SqlViewSpec)
   at Invantive.Data.DataDictionaryProvider.<>c__DisplayClass308_0.<RegisterDataContainerMetadata>b__0(GlobalState、ExecutionOptions、SqlExecutionStep _sqlExecutionStep、ObjectDefinition)
   Invantive.Data.ViewObjectDefinition.GetFields(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep) で
   Invantive.Cloud.Shared.ODataEdmUtility.A(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep, IProviderManager, EdmModelCacheEntity, ObjectDefinition, DataContainerMetadata, Int32, Boolean) で
   Invantive.Cloud.Shared.ODataEdmUtility.A(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep, IProviderManager, DataContainerMetadata, PartitionInfo partitionInfo, ObjectDefinition, EdmModelCache, DataContainerConnectionInfo dataContainerConnectionInfo, String, Int32, Boolean, Int32&, Int32&, Int32&, Int32&) で
   Invantive.Cloud.Shared.ODataEdmUtility.<>c__DisplayClass10_0.<ConstructNewDatabaseE でdmModel>b__2(<>f__AnonymousType0`4, ParallelLoopState parallelLoopState, Int64)
   at Invantive.Basics.ParallelUtility.<>c__DisplayClass4_0`1.<ForEachWithAggregatedExceptions>b__0(TSource tSource, ParallelLoopState parallelLoopState, Int64 index)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
   at System.Threading.Tasks.TaskReplicator.Replica.Execute()
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
   at System.Threading.Thread.StartCallback()
   at Invantive.Sql.V1.SqlSymbolTable.ThrowMissingSymbol(GlobalState owner, ExecutionOptions executionOptions, String alias, String name)
   at Invantive.Sql.V1.SqlSymbolTable.GetSymbol(GlobalState owner, ExecutionOptions executionOptions, String alias, String name)
   at Invantive.Sql.V1.ExpressionParser.LookupSymbol(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String alias, String name)
   at Invantive.Sql.V1.TransformToExpression.GetExpressionForField(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, ParserRuleContext context, String alias, String fieldName, Type& type, Nullable`1& isNullExpression, Boolean& isPSqlParameter, DatabaseColumn& field)
   at Invantive.Sql.V1.TransformToExpression.VisitFieldIdentifier(FieldIdentifierContext context)
   at Invantive.Sql.V1.TransformToExpression.VisitExpression(ExpressionContext context)
   at Invantive.Sql.V1.TransformToExpression.ParseExpression(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IParseTree tree, Type& expressionType, Boolean& isConstant, Object& data, Nullable`1& isNullable, Boolean& usesFields, DatabaseColumn[]& fieldsUsed)
   at Invantive.Sql.V1.ExpressionParser.ParseExpression(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IProviderManager manager, SqlEngine sqlEngine, IParseTree expression)
   at Invantive.Sql.V1.SelectStatementTree.GetProjectionMetadata(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, List`1 selectList, ExpressionParser exprParser)
   at Invantive.Sql.V1.SelectStatementTree.OnExecute(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SparseArrayPool sparseArrayPool, ParameterList parameters, QueryObject additionalFilters, ExpressionParser expressionParser, IQueryStatePerExecution queryStatePerExecution)
   at Invantive.Sql.V1.QueryTree.Execute(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, ParameterList parameters, QueryObject additionalFilters, ExpressionParser expressionParser, IQueryStatePerExecution queryStatePerExecution)
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
   at System.Lazy`1.CreateValue()
   at Invantive.Sql.V1.QueryPlan.ForcePlan(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Sql.V1.QueryPlan.GetFields(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Data.DataDictionaryProvider.A(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep, ObjectDefinition, SqlViewSpec)
   at Invantive.Data.DataDictionaryProvider.<>c__DisplayClass308_0.<RegisterDataContainerMetadata>b__0(GlobalState, ExecutionOptions、SqlExecutionStep _sqlExecutionStep、ObjectDefinition)
   at Invantive.Data.ViewObjectDefinition.GetFields(GlobalState owner、ExecutionOptions executionOptions、SqlExecutionStep sqlExecutionStep)
   at Invantive.Cloud.Shared.ODataEdmUtility.A(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep, IProviderManager, EdmModelCacheEntity, ObjectDefinition, DataContainerMetadata, Int32, Boolean)
   at Invantive.Cloud.Shared.ODataEdmUtility.A(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep, IProviderManager, DataContainerMetadata, PartitionInfo partitionInfo, ObjectDefinition, EdmModelCache, DataContainerConnectionInfo dataContainerConnectionInfo, String, Int32, Boolean, Int32&, Int32&, Int32&, Int32&)
   at Invantive.Cloud.Shared.ODataEdmUtility.<>c__DisplayClass10_0.<ConstructNewDatabaseEdmModel>b__2(<>f__AnonymousType0`4, ParallelLoopState parallelLoopState, Int64)
   at Invantive.Basics.ParallelUtility.<>c__DisplayClass4_0`1.<ForEachWithAggregatedExceptions>b__0(TSource tSource, ParallelLoopState parallelLoopState, Int64 index)
--- 前の場所からのスタックトレースの終了 ---
   at Invantive.Basics.ErrorConstants.ThrowOneOrMoreExceptions(GlobalState owner, ExecutionOptions executionOptions, IEnumerable`1 exceptions)
   at Invantive.Basics.ParallelUtility.ForEachWithAggregatedExceptions[TSource](GlobalState owner, ExecutionOptions executionOptions, IEnumerable`1 source, ParallelOptions parallelOptions, Action`3 body, Boolean shuffle, Boolean useCancellationTokenFromExecutionOptions, Boolean keepGoingOnError)
   at Invantive.Cloud.Shared.ODataEdmUtility.A(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep, DataContextBase, DatabaseConnectionInfo, String, String, HashSet`1, Int32, Boolean, Int32, String, Byte[], String, CancellationToken)
   at Invantive.Cloud.Shared.ODataEdmUtility.ConstructDatabaseEdmModel(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, DataContextBase dataContext, DatabaseConnectionInfo databaseConnectionInfo, String databaseSegment, String userName, HashSet`1 allowedProviderNames, Int32 maxColumnCount, Boolean allowNonStandardEdmTypeNames, Int32 cacheLifetimeSec, String edmCacheUserDirectory, CancellationToken cancellationToken)
   at Invantive.Bridge.Online.Logic.EdmModelBuilder.ConstructDatabaseEdmModel(GlobalState owner, ExecutionOptions executionOptions, BridgeConfig config, HttpContext httpContext, String databaseSegment) in c:\smoke\ws-26.0\Invantive.Bridge.Online\src\Invantive.Bridge.Online\Logic\EdmModelBuilder.cs:line 215
   at Invantive.Web.Core.TaskExtensionMethods.GetOrAddTaskSafe[TTask](IStateHelper stateHelper, GlobalState owner, ExecutionOptions executionOptions, String listName, String key, Func`1 taskFactory, Nullable`1 timeOutMs, String providerName, String dataContainerId, String dataContainerAlias, String partitionCode, String tableName, String sqlStatement, CancellationToken cancellationToken, CancellationToken retrieveCancellationToken)
   at Invantive.Bridge.Online.Logic.EdmModelBuilder.EnsureModelLoaded(GlobalState owner, ExecutionOptions executionOptions, BridgeConfig config, HttpContext httpContext, String databaseSegment, CancellationToken cancellationToken) in c:\smoke\ws-26.0\Invantive.Bridge.Online\src\Invantive.Bridge.Online\Logic\EdmModelBuilder.cs:line 83
   at Invantive.Bridge.Online.Logic.EdmModelBuilder.GetEdmModel(GlobalState owner, ExecutionOptions executionOptions, BridgeConfig config, HttpContext httpContext, String databaseSegment, CancellationToken cancellationToken) in c:\smoke\ws-26.0\Invantive.Bridge.Online\src\Invantive.Bridge.Online\Logic\EdmModelBuilder.cs:line 49
   at Invantive.Bridge.Online.Logic.ODataModelProvider.Invantive.Bridge.Online.Logic.IODataModelProvider.GetEdmModel(GlobalState owner, ExecutionOptions executionOptions, HttpContext httpContext, BridgeConfig config, String databaseSegment, CancellationToken cancellationToken) in c:\smoke\ws-26.0\Invantive.Bridge.Online\src\Invantive.Bridge.Online\Logic\OData\ODataModelProvider.cs:line 18
   at Invantive.Bridge.Online.Logic.ODataRoutingMatcherPolicy.ApplyAsync(HttpContext httpContext, CandidateSet candidates) in c:\smoke\ws-26.0\Invantive.Bridge.Online\src\Invantive.Bridge.Online\Logic\OData\ODataRoutingMatcherPolicy.cs:line 104
   at Microsoft.AspNetCore.Routing.Matching.DfaMatcher.SelectEndpointWithPoliciesAsync(HttpContext httpContext, IEndpointSelectorPolicy[] policies, CandidateSet candidateSet)
   at Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.<Inビューの`use`でIDをマスクしています。すでに述べたとおり、このビューは何ヶ月も存在しており、火曜日以降、すべてのテーブルの読み込みでエラーが発生しています。

```sql
use [administratie]@eol;
create or replace force view ProjectSubscriptionCodes
as
select 
	cfd.Id,
    cfd.Code,
    cfd.Description,
    cfd.BUSBV_PROJ_Subscription AS SubscriptionCode,
	cfd.Modified
from   ( select prj.Division
         ,      prj.Id
         ,      prj.Code
         ,      prj.Description
		, prj.Modified
         ,      customvalues.PropertyName
         ,      customvalues.Value
         from   ExactOnlineREST.Project.Projects prj
         left
         outer
         join   CustomFieldValues
                ( division => prj.Division
                , linkId => prj.Id
                , BusinessComponentName => 'Project'
                ) customvalues
         where  prj.Division = 189708
		AND prj.ClassificationDescription in ('Continuous Improvement Services - Vast', 'Continuous Improvement Services - Flexibel', 'Service Level Agreement') 
       ) prj
pivot  ( max(prj.value)
         for prj.PropertyName in 
         ( 
          [BUSBV_PROJ_Subscription]
         )
       ) cfd;

問題は、26.0.188のクエリ評価におけるエラーにあります。このエラーのために、pivot の列が誤ったエイリアスを取得し、その結果、cfd.id が認識されず、id は認識されます。

この問題を解決する新しいリリースが利用可能です。必要な修正は、リリース26.0.195以降およびすべての将来のBETAバージョンで利用可能です。

この新しいリリースは、Invantive Cloudで本番稼働しています/する予定です。

詳細については以下を参照してください:

この質問は1週間の非アクティブで自動的に閉じられました。最後に提供された回答が解決策としてマークされました。

再び問題が発生した場合は、新しいトピックで別の質問をしてください。新しい質問の中に、このトピックへのリンクを、URLをテキストに貼り付けることで含めてください。