我在使用 Azure 数据工厂中的复制活动从 AccessDB 复制数据时遇到问题。
该副本有时会起作用,并且在“休息”一段时间后似乎效果更好。
管道的初始错误运行:
ErrorCode=UserErrorFailedToConnectOdbcSource,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=,Source=Microsoft.DataTransfer.Runtime.GenericOdbcConnectors,''Type=System.Data.Odbc.OdbcException,Message=,Source=,'
从发生此错误时开始深入研究 IR 日志,有很多信息,但具体来说,日志中也存在此错误:
TraceComponentId: TransferTask
TraceMessageId: TransferRunFailed
@logId: Error
FunctionName: Execute
jobId: cb6df474-ff8a-13a0-1d17-6e7f3baf5f8e
activityId: 1db37d81-cd32-4b6f-8d16-7fcf63ddea35
eventId: TransferRunFailed
message: Copy failed with error: 'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=,Source=Microsoft.DataTransfer.Runtime.GenericOdbcConnectors,StackTrace= at Microsoft.DataTransfer.Runtime.GenericOdbc.GenericOdbcConnection.Open()
at Microsoft.DataTransfer.Runtime.SourceStageProcessor`1..ctor(PluginRegistration plugins, IDictionary`2 stageProperties, Func`2 hookTelemetry)
at Microsoft.DataTransfer.Runtime.PipelineDefinitionBuilder.CreateTabularSourceProcessor(IDictionary`2 properties)
at Microsoft.DataTransfer.Runtime.PipelineProcessStage`3.CreateProcessor(Func`1 createNextProcessor)
at Microsoft.DataTransfer.TransferTask.CopyTask.DoCopy()
at Microsoft.DataTransfer.TransferTask.CopyTaskBase.Execute(),''Type=System.Data.Odbc.OdbcException,Message=,Source=,StackTrace= at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.Odbc.OdbcConnection.Open()
at Microsoft.DataTransfer.Common.Shared.HelperMethod.ExecuteWithTimeout(Action action, TimeSpan timeout, HybridDeliveryExceptionCode exceptionCode, String errorMessageFormat)
at Microsoft.DataTransfer.Common.RetryPolicies.RetryExtension.<>c__DisplayClass0_0.<ExecuteAction>b__0()
at Microsoft.DataTransfer.Common.RetryPolicies.RetryExtension.ExecuteAction[TResult](IRetry retry, Func`1 func)
at Microsoft.DataTransfer.Runtime.GenericOdbc.GenericOdbcConnection.Open(),'
这有时确实有效,它是间歇性的,所以我倾向于像池大小错误这样的东西?但是,我不确定接下来要尝试什么 - 将尽快向 Microsoft 记录支持票。