Usuário com melhor resposta
SSIS - Campo texto com muitos caracteres

Pergunta
-
Estou com um problema pessoal,
tenho que trazer dados do Excel para o SSIS 2005, porém tem campos de texto na planilha que chegam a 22475 caracteres, mas quando coloco no SSIS ele coloca o campo como:
DataType: Unicode string [DT_WSTR]
Length: 255
Já tentei forçar a conversão no Advanced Editor para text stream [DT_TEXT] e Unicode text stream [DT_NTEXT] mas da erro porque eu consigo alterar no OLE DB Source Output tanto o External Columns quanto o Output Columns mas no OLE DB Source Error Output eu não consigo alterar, quando tento da erro dizendo: “Property value is not valid”.
E se só alterar no OLE DB Source Output da o seguinte erro:
“Validation error: OLE DB Source [3262]: The output column "Nome_da_Coluna" (3297) on the error output has properties that do not match the properties of its corresponding data source column.”
Outra maneira que pensei é que como os dados estão em excel a sintaxe do SQL que uso pra trazer os dados para o SSIS é a mesma do Access, então procurei na intenet alguma função de access para converter campos texto para memorando, mas também não encontrei.
Como já perceberam eu estou usando para conexão o OLE DB Source, porque a planilha está em Excel 2007 e o SSIS é versão 2005, então não da pra fazer a conexão usando Excel Source, não sei se isso pode ter alguma influência.
Alguém tem alguma idéia de como resolver isso ?
Agradeço a atenção de todos.
Respostas
-
Bom Dia,
Acredito que você possa usar o Excel Source se instalar os Providers para o Excel 2007 (ou o Excel propriamente dito) na máquina onde está o SSIS 2005.
Uma outra alternativa é abrir o DTSX no notepad e editar a propriedade diretamente, mas esse deve ser o último recurso.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Richard Juhasz segunda-feira, 6 de junho de 2011 20:16
Todas as Respostas
-
Gustavo,
Qual foi o datatype que você configurou na sua tabela no SQL Server?
Tente utilizar VarChar(Max) ou NVarChar(Max)!!!
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com] -
-
Bom Dia,
Acredito que você possa usar o Excel Source se instalar os Providers para o Excel 2007 (ou o Excel propriamente dito) na máquina onde está o SSIS 2005.
Uma outra alternativa é abrir o DTSX no notepad e editar a propriedade diretamente, mas esse deve ser o último recurso.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Richard Juhasz segunda-feira, 6 de junho de 2011 20:16
-
Bom dia Gustavo,
Em relação a problemas de conexão pelo Excel ser 2007 e o SSIS 2005 não existem, o SSIS trabalha em cima dos providers que você tem disponiveis e no caso você tem o de EXCEL pois já consegue ler a planilha.
Tentar forçar alteração de tamanho no advanced editor não vai funcionar, o que você pode tentar é acrescentar configurações na connection string do excel, dentro de "Extended Properties" sugiro que coloque "IMEX=1;MAXSCANROWS=0" além do que já existe, para que ele não tente mapear o datatype das colunas e crie um padrão genérico, mas ainda assim não sei se resolvera a questão de tamanho,
Caso isso não funcione uma alternativa é fazer a query no próprio SQL, usando o comando OPENROWSET e ver se dessa forma ele vai mapear o tamanho possível da coluna, ou talvez assim fique mais fácil vc realizar a conversão do campo, segue abaixo um exemplo:
SELECT
CAMPO 1,
CAMPO 2,
CAMPO 3,
CAMPO 4,
CAMPO 5
FROM
OPENROWSET ('Microsoft.ACE.OLEDB.12.0','Excel 12.0 Xml;Database=\\DIRETORIO\PASTA\ARQUIVO.xls;HDR=Yes;IMEX=1','SELECT * FROM [PLAN1$A1:L65000]')
Espero que algo acima funcione!
Abrs,
PG
-
Paulo,
No Excel os seus dados estão formatados como Texto?
Veja se por acaso não estão configurados como personalizado!!!!
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]