Usuário com melhor resposta
importar arquivos .dbf no Sql Server 2005 express (SOCORRO URGENTE!!!!)

Pergunta
-
Olá Galera!
Desenvolvi um programa para um cliente meu onde ele tem uns mil clientes cadastrados... ele esta me pedindo para eu fazer a importação do programa antigo dele para o que eu desenvolvi conforme suas necessidades, bom, o banco do sistema dele é em .DBF e até consegui converter ele para excel e tambem para .sql , mas eu nao faço idéia de como fazer essa inclusao no banco sql 2005 express com esses dados já cadastrados em .dbf ou convertidos pois tentei ler esses dados com o sql e não consegui. preciso muito da ajuda de vcs galera! pois o projeto está quase pronto e praticamente só falta isso para eu entregar o mesmo. Se alguem puder postar um exemplo fcarei muito agradecido e será muito ÚTIL mesmo para o fórum. Conto a a sua ajuda!Grande Abraço
Gilson
- Movido Gustavo Maia Aguiar terça-feira, 24 de novembro de 2009 12:07 (De:SQL Server - Desenvolvimento Geral)
Respostas
-
Não... Ctrl+C, Ctrl+V mesmo!!!
Eu faço assim:
Abro o DBF com o Excel
Faço a limpeza de dados e ordenaçao da colunas para que tenha a mesma estrutura da tabela no SQL
Insiro uma coluna a esquerda (essa fica em branco). Por exemplo. Se seu dbf tem 5 campos, logo apos abri com o excel ele tera 5 colunas (a,b,c,d,e). Eu insiro mais uma, fica (a,b,c,d,e,f)
Seleciono o bloco, menos a primeira linha (essa tem o cabeçalho)
Abro o SQL Server Management Studio e peço para mostrar os dados da tablela que vou colar (geralmente ela esta vazia)
Como o excel esta com a mesma estrutura da tabela no sql, a copia é feita diretamente.
Eu uso isso para popular as tabelas para teste. É muito mais facil criar uma tabela no excel, do que no SQL, e mesmo usando TSQL. Meu sonho é ter uma mini instancia do excel dentro do SSMS... vai facilitar o trabalho...
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com)- Sugerido como Resposta Gilson.Dias quarta-feira, 25 de novembro de 2009 14:13
- Marcado como Resposta tecnico.gilson quarta-feira, 25 de novembro de 2009 14:14
- Editado William John Adam Trindade terça-feira, 3 de março de 2015 14:11
Todas as Respostas
-
Vc pode usar o SSIS, que vem junto com o pacote Sql Server Express Advanced Services.
http://msdn.microsoft.com/fr-fr/library/ms141026.aspx
Mas sinceramente, se for só uma vez e se for menos de 10 mil registros, abre no excel, faça o tratamento que vc quiser (por exemplo, normalizar o código do cliente) e cole no SQL.
Vai ser bem mais rapido
att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com) -
-
Não... Ctrl+C, Ctrl+V mesmo!!!
Eu faço assim:
Abro o DBF com o Excel
Faço a limpeza de dados e ordenaçao da colunas para que tenha a mesma estrutura da tabela no SQL
Insiro uma coluna a esquerda (essa fica em branco). Por exemplo. Se seu dbf tem 5 campos, logo apos abri com o excel ele tera 5 colunas (a,b,c,d,e). Eu insiro mais uma, fica (a,b,c,d,e,f)
Seleciono o bloco, menos a primeira linha (essa tem o cabeçalho)
Abro o SQL Server Management Studio e peço para mostrar os dados da tablela que vou colar (geralmente ela esta vazia)
Como o excel esta com a mesma estrutura da tabela no sql, a copia é feita diretamente.
Eu uso isso para popular as tabelas para teste. É muito mais facil criar uma tabela no excel, do que no SQL, e mesmo usando TSQL. Meu sonho é ter uma mini instancia do excel dentro do SSMS... vai facilitar o trabalho...
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com)- Sugerido como Resposta Gilson.Dias quarta-feira, 25 de novembro de 2009 14:13
- Marcado como Resposta tecnico.gilson quarta-feira, 25 de novembro de 2009 14:14
- Editado William John Adam Trindade terça-feira, 3 de março de 2015 14:11
-
Boa Noite,
O uso do SSIS é uma ótima saída para resolver esse problema, mas vale a pena lembrar que o Express 2005 não possui SSIS (mesmo o Advanced Series). Maiores detalhes no link abaixo:
http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx?PHPSESSID=0324345d45ef1bf1f764044e03584cd0
Acho que usar o CTRL + C e CTRL + V é de fato a saída mais rápida nesse caso.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.com
A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte II
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!814.entry
Classifique as respostas. O seu feedback é imprescindível -
É verdade... tinha me esquecido disso. Uso o SQL 2008 na maquina de teste e vi que isso existe lá (au menos uma versão mais simplificadao do SSIS).
Fica a saida do copiar colar... outra saia menos nobre, é transformar o DBF em CSV e utilizar o bulk insert...
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com) -
Galera,
me surgiu outro problema com esses dados do meu cliente, além de ele querer que eu importe os clientes cadastrados no dbf, ele tbm quer que eu coloque junto quanto o cliente está devendo... sendo que os valores se encontram no arquivo caixa_receber.dbf, vcs poderiam me dar uma dica de como eu poderia fazer isso??
Muito obrigado desde ja pela ajuda!
Abraço
Gilson -
Mesma coisa. Abra com o Excel, limpe os dados, e cole no SQL. Se sua tabela, que trata dessa parte, for muito diferente estruturalmente, eu sugiro criar uma tabela com a mesma estrutura do DBF e depois. Cole os dados e depois faça as queries de tratamento.
É isso.
att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com) -
Olá William,
Meu amigao que ja me ajudou muito... me desculpa a minha falta de conhecimento, pois eutou começando com vb.net , eu baixei o SQL Server Management Studio para sql server 2005, mas não eu estou conseguindo fazer o attach no meu banco, quando eu clico em add ele me dá um erro assim: TITLE: Microsoft SQL Server Management Studio Express
------------------------------Failed to retrieve data for this request. (Microsoft.SqlServer.Express.SmoEnum)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
ADDITIONAL INFORMATION:An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.Express.ConnectionInfo)
------------------------------
O principal do servidor "Gilson-PC\Gilson" não pode acessar o banco de dados "model" no contexto de segurança atual. (Microsoft SQL Server, Error: 916)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4035&EvtSrc=MSSQLServer&EvtID=916&LinkId=20476
------------------------------
BUTTONS:OK
------------------------------
Vc saberia me dizer pq nao consigo abrir o arquivo mdf por esse caminho? esta certo como estou fazendo?Abraço
Gilson
-