2016-11-18 103 views
3

我正在使用Invantive Query Tool更新Exact Online中供应商的地址数据。我写了一些生成SQL代码的VBA代码,以将其放入Invantive Query Tool。我以前用过这个,它工作得很好,我已经在1或2个月前更新了数百个精确的在线表格值。现在我想使用相同的代码来运行新的更新,但是我得到了我以前没有得到的错误。错误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_”。

所以我加下划线,它似乎排除错误寻找AddressLine1,但是我得到一个新的错误,上面写着:

Unknown identifier: 'ID'. 

,我不知道它从何而来。这些是错误的详细信息:

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 

如果可以修复此错误,我将非常感激。

+0

Hi B Duijff。欢迎来到Stack Overflow。您遇到的问题似乎不存在于该产品的最新版本中。你的SQL似乎很好。让我检查一下,如果我能看到你的结局出了什么问题。 –

+0

我知道这种类型的更新,它用于工作,并且无法在当前版本中将其破解。但是我也知道,Invantive SQL中涉及的符号表的确定存在一些质量问题,它们对别名或类似的存在或不存在非常敏感。建议重新尝试最近的版本。 –

回答

1

这最终成为SQL引擎评估中的一个错误。

请让我知道它是否还发生在你身上。