私はInactive Query Toolを使用して、Exact Onlineのサプライヤの住所データを大規模に更新しています。 Inative Query Toolに入れるためのSQLコードを生成するいくつかのVBAコードを記述しました。私は以前これを使用していましたが、うまくいきました.1〜2ヶ月前に何百ものExact Onlineテーブル値を更新しました。今では同じコードを使って新しいアップデートを実行したかったのですが、以前は得られなかったエラーが発生します。エラーitgensql005:不明な識別子 'ID'
前に働いていたコードで始まるのをしてみましょう:私はこれを実行すると
use 1091919
UPDATE exactonlinerest..Accounts
SET AddressLine1='Nieuw Walden 56-64'
WHERE code like '% 500053'
AND AddressLine1 != 'Nieuw Walden 56-64'
AND division = 1091919
私はエラーを取得する:
Unknown identifier: 'AddressLine1'."
と「AddressLine1_」を使用する提案を得ます。
Unknown identifier: 'ID'.
を、私はそれが来る見当がつかない:しかし、私は読み込み新しいエラーを取得し、
は、だから私は、アンダースコアを追加し、AddressLine1
を見つけることで、エラーを取り除くように見えるん。これらはエラーの詳細です:
UPDATE exactonlinerest..Accounts SET AddressLine1_='Nieuw Walden 56-64' WHERE code like '% 500053' AND AddressLine1_ != 'Nieuw Walden 56-64' AND division = 1091919
Type: Invantive.Configuration.ValidationException
bij Invantive.Configuration.ValidationException..ctor(String errorCode,
String errorMessage, String kindRequest, String localStackTrace,
String nk, Exception innerException)
bij Invantive.Sql.ExpressionParser.<>c__DisplayClass4_0.CreateExpressionParser>b__1(String qualifiedColumnName)
bij Invantive.Data.ExtensionMethods.TryGetValue[TKey,TValue](Dictionary`2dictionary, TKey key, Func`2 customExceptionFunction)
bij Invantive.Sql.ExpressionParser.<>c__DisplayClass4_0.<CreateExpressionParser>b__0(String name)
bij Invantive.Sql.TransformToExpression.GetExpressionForField(String fieldName, Type& type)
bij Invantive.Sql.TransformToExpression.GetProjectionForField(String fieldName, Type& type)
bij Invantive.Sql.UpdateStatementTree.CompileInternal(ParameterList parameters, ExpressionParser expressionParser)
bij Invantive.Sql.QueryTree.Compile(ParameterList parameters,ExpressionParser expressionParser)
bij Invantive.Sql.QueryPlan.ForcePlan()
bij Invantive.Sql.QueryPlan.get_Fields()
bij Invantive.Data.ConnectionManager.ExecuteProviderPassthroughSqlAction(String actionSql, ParameterList parameters, String& handlingPath)
bij Invantive.Data.ConnectionManager.PassthroughSqlAction(String actionSql, ParameterList parameters)
bij Invantive.Data.ActionProceduresBase.PassthroughSqlAction(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__DisplayClass135_0.<FetchData>b__0()
bij System.Threading.ThreadHelper.ThreadStart_Context(Object state)
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.ExtensionMethods.TryGetValue[TKey,TValue](Dictionary`2 dictionary, TKey key, Func`2 customExceptionFunction) in File216:regel 1601
bij Invantive.Sql.ExpressionParser.<>c__DisplayClass4_0.<CreateExpressionParser>b__0(String name) in File118:regel 53
bij Invantive.Sql.TransformToExpression.GetExpressionForField(String fieldName, Type& type) in File115:regel 826
bij Invantive.Sql.TransformToExpression.GetProjectionForField(String fieldName, Type& type) in File115:regel 878
bij Invantive.Sql.UpdateStatementTree.CompileInternal(ParameterList parameters, ExpressionParser expressionParser) in File112:regel 132
bij Invantive.Sql.QueryTree.Compile(ParameterList parameters, ExpressionParser expressionParser) in File131:regel 91
bij Invantive.Sql.QueryPlan.ForcePlan() in File130:regel 86
bij Invantive.Sql.QueryPlan.get_Fields() in File130:regel 63
bij Invantive.Data.ConnectionManager.ExecuteProviderPassthroughSqlAction(String actionSql, ParameterList parameters, String& handlingPath) in File39:regel 3754
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bij Invantive.Data.ConnectionManager.ExecuteProviderPassthroughSqlAction(String actionSql, ParameterList parameters, String& handlingPath) in File39:regel 3789
bij Invantive.Data.ConnectionManager.PassthroughSqlAction(String actionSql, ParameterList parameters) in File39:regel 1928
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bij Invantive.Data.ConnectionManager.PassthroughSqlAction(String actionSql, ParameterList parameters) in File39:regel 1940
bij Invantive.Data.ActionProceduresBase.PassthroughSqlAction(String actionSql, ParameterList parameters) in File29:regel 212
bij Invantive.Producer.Windows.Forms.QueryTool.ExecuteStatement(IProgressNotifier notifier, String statement, ParameterList bindVariables, Boolean showResultsInGrid, Boolean showStatistics, Boolean memorizeStatisticsInSqlHistory, Boolean allowPaging) in File934:regel 2876
bij Invantive.Producer.Windows.Forms.QueryTool.FetchResultsFromSql() in File934:regel 2459
このエラーを修正することができます非常に感謝します。
こんにちはB Duijff。スタックオーバーフローへようこそ。あなたが経験する問題は、最新バージョンの製品には存在していないようです。あなたのSQLはうまくいくようです。私があなたの最後に何がうまくいかないかを見てみましょう。 –
私はこのタイプのアップデートを知っていて、以前は動作していましたが、現在のリリースではそれを壊すことはできません。しかし、私はまた、Invantive SQLに関係するシンボルテーブルの決定には、エイリアスなどの有無に非常に敏感になるいくつかの品質の不具合があることも知っています。推奨は、最近のリリースで再試行することです。 –