Array
(
)

Importar dados do excel para o sql server

Pjava
   - 05 ago 2012

Criei um BD e depois uma tabela, com a mesma estrutura da minha planilha. Agora preciso importar do Excel para o Banco e não consigo dá erro. Fiz assim:
exec sp_configure
show advanced options, 1
reconfigure

exec sp_configure
Ad Hoc Distributed Queries, 1
reconfigure

INSERT INTO baixa_arquivo SELECT
* FROM OPENROWSET (Microsoft.Jet.OleDB.4.0,
EXCEL 8.0;Database=D:\CLS Documentos\Script\Banco_CLS.XLS
,Table1$)
E ess é o erro:

Mensagem 7399, Nível 16, Estado 1, Linha 10
O provedor do OLE DB Microsoft.Jet.OleDB.4.0 para o servidor vinculado (null) reportou um erro. O provedor não forneceu informações sobre o erro.
Mensagem 7303, Nível 16, Estado 1, Linha 10
Não é possível inicializar um objeto de fonte de dados do provedor do OLE DB Microsoft.Jet.OleDB.4.0 para o servidor vinculado (null).
O que devo fazere?

Pjava
   - 06 ago 2012

Estou usando o DTS, ele funcionou, mas não trouxe todas as colunas preenchidas. Aí, fui em editar e selecionei todas as colunas que estavam com status ignorar. Habilitei tudo e deu erro(Não conseguiu abrir o arquivo). Fechei e tentei novamente, agora dá erro dizendo(A tabela externa não está no formato esperado(Microsoft JET DataBase Engine)). Mas eu cheguei a importar dados, mas como veio colunas vazias, refiz de novo e agora está dando esse erro. O que fazer?

Davi Souza
   - 11 ago 2012

Amigo,
você deverá colocar formatar as colunas do excel em paralelo com as colunas correspondentes na sua tabela do banco.

Ex:
Se a coluna no banco for do tipo NUMERIC, no excel formate a coluna correspondente como número.
Se no banco for do tipo Varchar, formate no excel como texto.
Caso não consiga, por gentileza, poste o script de criação da tabela e uma amostra do que você precisa importar.
Abraço.