Estou procurando uma maneira de importar dados de um arquivo de texto para um banco de dados MySQL, o arquivo de texto costumava ser importado em um banco de dados SQL SERVER via BCP e opção FORMATFILEs por exemplo:
BULK INSERT [MyTable] FROM 'myFolder\.txt'
WITH (
FORMATFILE = 'myFolder\MyTable.fmt',
ROWS_PER_BATCH = 5000,
MAXERRORS = 5000,
CODEPAGE = 'ACP',
ERRORFILE = 'myFolder\errors.txt'
)
MyTable.fmt :
7.0
4
1 SQLCHAR 0 3 "" 1 Field1
2 SQLCHAR 0 7 "" 2 Field2
3 SQLCHAR 0 3 "" 3 Field3
4 SQLCHAR 0 2 "" 4 Field4
Os campos (ou colunas) no arquivo de origem não são separados, a única coisa a distinguir os dados é o número de caracteres por cada coluna, conforme mencionado no arquivo de formato MyTable.fmt, por exemplo:
- Field1 os primeiros 3 caracteres formam a esquerda
- Field2 os primeiros (3+) 7 caracteres formam a esquerda
- Field3 os primeiros (3+7+) 3 caracteres formam a esquerda
- Field4 os primeiros (3+7+3+) 2 caracteres formam a esquerda
Alguma idéia de como proceder no MySQL?
Parece-me que este caso não pode ser tratado da mesma forma que o SQL Server.
No entanto, encontrei outra alternativa para fazer isso (ou seja, importar dados com base no número de caracteres de cada coluna):