Trabalhando com arquivos csv
O problema para nós aqui era que o Crystal determinava os tipos de dados dos arquivos csv com base em sua configuração padrão, que, segundo os testes, parecia levar em consideração as primeiras 12 linhas. Isso significava que estava considerando uma coluna alfanumérica como um número apenas porque os primeiros 20 ou mais valores na tabela não continham "alfas". Se deseja anular isso e especificar sua própria configuração, tem duas opções:
1) Crie um arquivo/sistema DSN para se conectar aos dados e especificar cada coluna individualmente:
a) Vá para DSN do sistema e clique em adicionar, selecione o driver de texto MS b) Insira um nome, desmarque a caixa de diretório atual e selecione o diretório c) Clique em opções e selecione a extensão do arquivo .csv (precisa desativar os valores padrão) d) Clique em Definir formato e depois adivinhe. Para cada uma das colunas, selecione o tipo desejado. Por padrão, todos parecem ser texto e) Clique em aceitar (pode obter um erro de atributo aqui, mas ignore)
Em seguida, use este DSN no relatório do Crystal.
2) Alternativamente, crie você mesmo um arquivo "schema.ini" e coloque-o na mesma pasta que o arquivo csv. Na verdade, tudo o que um DSN faz é criar este arquivo e adicioná-lo à pasta. Também evita a necessidade de adicionar outro DSN em seu servidor Crystal. Ao simplesmente adicionar o schema.ini à pasta e usar uma conexão de texto "Access/Excel (DAO)" ou ODBC, o Crystal o detecta automaticamente e utiliza suas configurações especificadas. Nossa solução alternativa foi definir o valor MaxScanRows do esquema como 1 para simplesmente usar os cabeçalhos na determinação dos tipos de dados, ou seja, todos como strings.
ColNameHeader=False
Format=CSVDelimited
MaxScanRows=1
CharacterSet=OEM
Ou você pode especificar manualmente os tipos de dados se precisar de alguns como números, consulte aqui http://support.microsoft.com/kb/210073.