Tenho a seguinte configuração no meu construtor de expressões do Pipeline em nossa atividade de cópia
@concat('SELECT * FROM ', pipeline().parameters.Domain,
'.', pipeline().parameters.TableName)
Isso copiará os dados com sucesso para nossa tabela do SQL Server como dbo.MyTable
.
Gostaria de adicionar um sufixo ou algum caractere adicional ao final da tabela para que ela seja copiada para o banco de dados do SQL Server como dbo.MyTableV2
.
Alguém pode me dizer como adicionar caracteres adicionais à tabela?
Por exemplo, isto não funciona:
@concat('SELECT * FROM ', pipeline().parameters.Domain,
'.', pipeline().parameters.TableName, 'V2')
Alguma ideia?
Concordo com @Nandan que o motivo do erro acima é quando o nome da tabela fornecida não existe no banco de dados de origem.
Eu tentei a expressão acima em uma consulta de origem de atividade de cópia, e você pode ver que ela deu o mesmo erro, pois não há nenhuma
PolicyV2
tabela no meu banco de dados de origem.Não há problema com sua expressão. Verifique se o nome da tabela da consulta gerada existe ou não em seu banco de dados de origem.
Você pode verificar a consulta gerada a partir da expressão na entrada da atividade de cópia.
ATUALIZAR:
Para copiar os
Policy
dados para uma nova tabelaPolicyV2
, você pode usar parâmetros de conjunto de dados. Crie dois conjuntos de dados, um para a origem e outro para o destino. Adicione seu conjunto de dados de origem à fonte de atividade de cópia e forneça sua primeira expressão para obter os dados dedbo.Policy
.No conjunto de dados de destino, crie dois parâmetros do tipo strings.
Agora, use esses dois parâmetros para o esquema e a tabela do conjunto de dados, conforme mostrado abaixo.
Adicione isso como coletor de atividade de cópia e forneça seu
Domain
parâmetro ao esquema e, para o nome da tabela, forneça a expressão abaixo.Como você não tem uma tabela de destino, clique na opção Auto create table. Isso criará a tabela automaticamente
PolicyV2
.