Фабрика данных не поддерживает автоматическое создание временной таблицы. Мы не можем установить "## usertemptable" в качестве имени таблицы:
ОШИБКА :
{
"errorCode": "2200",
"message": "ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A database operation failed. Please search error to get more details.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.InvalidOperationException,Message=Cannot access destination table '[dbo].[##temptest]'.,Source=System.Data,''Type=System.Data.SqlClient.SqlException,Message=Invalid object name '##temptest'.,Source=.Net SqlClient Data Provider,SqlErrorNumber=208,Class=16,ErrorCode=-2146232060,State=0,Errors=[{Class=16,Number=208,State=0,Message=Invalid object name '##temptest'.,},],'",
"failureType": "UserError",
"target": "Copy data1",
"details": []
}
Для Azure SQL база данных, временные таблицы находятся в TempDB, но мы не можем видеть и обращаться к ней в системной базе данных. Мы также не можем выбрать временную таблицу в качестве набора данных в фабрике данных.
Глобальные временные таблицы автоматически удаляются, когда заканчивается сеанс, создавший таблицу, и все другие задачи перестают ссылаться на них. Связь между задачей и таблицей поддерживается только в течение жизни одного оператора Transact- SQL. Это означает, что глобальная временная таблица удаляется при завершении последнего оператора Transact- SQL, который активно ссылался на таблицу после завершения сеанса создания.
Вы можете сослаться на эту ссылку Как создать временные таблицы в SQL для использования в нескольких операциях ADF? . Это дает вам много подсказок и предложений.
Вы также можете сослаться на этот блог: Использование глобальной временной таблицы в операции копирования не работает . Microsoft MSFT предоставляет еще один способ вставки данных во временную таблицу с помощью хранимой процедуры.
Некоторые замечания: не закрывайте сеанс подключения SQL при создании временной таблицы.
Если все это не работает для вас, вам может понадобиться подумать о том, почему вы настаиваете на использовании временной таблицы, поскольку Copy Active имеет хорошую производительность для копирования данных. Окончательный выбор может состоять в том, чтобы использовать реальную таблицу, а не временную таблицу.
Надеюсь, это поможет.