Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Srs., Convertendo dados de uma tabela DBF para outra em MSSQL 2008R2 Express, ocorre um erro quanto rodo um procedimento para levar os dados da tabela DBF para a SQL.
Na Tabela SQL há 2 campos: 1 Cod_Proced int (Não nulo e identidade) e o outro é descrição.
Na Tabela DBF a mesma estrutura.
Quando leio a tabela(DBF) para gravar na tabela(SQL) é exibida a msg de que o campo não pode ser modificado.
Verifiquei que isso ocorre porque o campo da tabela(SQL) é identidade.
Pude verificar isso quando criei outro campo na tabela(SQL) e consegui gravar os dados, mas qdo tento passar ele para identidade, não há permissão. Acredito que isso ocorra porque o campo identidade tenha incremento.
No Forum da Microsoft não deram prosseguimento ao meu tópico, mas chegaram a me perguntar qual o provider estou utilizando. É o Native Client.
Alguém sabe o que posso fazer neste caso? Tenho muitas outras tabelas para fazer o mesmo procedimento. Obrigado.
Abcs
A.Jr., Estou fazendo a conversão de vários sistemas para um único sistema(Clipper-DBF p/ Delphi-SQL) e faço isso gradativamente. Estou usando os Bancos em paralelo. A medida que necessito transferir os dados de uma tabela DBF para SQL, crio procedure no próprio programa, leio registro por registro e atualizo(gravo) no campo correspondente na tabela SQL.
Tenho pouca experiência em SQL e o que sei foi através dos foruns e tutoriais.
Não sei o que vc quis dizer sobre PK's, DTSx e MMS.
Já fiz este procedimento em outras tabelas mas o que pude constatar realmente é que na tabela SQL, quando o campo tem autoincremento, não me permite fazer isso e eu não sei o que pode ser feito.
Um teste que fiz para chegar a esta conclusão foi criar a tabela em SQL, sem identificar o campo código com autoincremento, ai consegui transportar os dados, mas quando tentei alterar a característica do campo e passá-lo para autoincremento, deu o erro.
Este é o problema.
Abcs
Bom, pode ser que o comando para alterar o tipo do campo esteja invalido, ou que tenha dois registros com o msm valor. Ai vai depender do erro.
No caso de migração, é assim mesmo, ainda mais com duas linguagens distintas, mas vamos por partes.
Tu já tem a estrutura no SQL? Sabe criar?
Eu faria deste modo:
A principio faria deste modo.
Não achei seu post no MSDN, mas vamos por aqui então.
Quando vc esta fazendo esta migração, pq nao traz os dados para a tabela e depois cria as PK´s? Existe algumas particularidades entre os campos que realmente podem impedir de fazer, como por exemplo, o identity da tabela no DBF estar explicito na transição para o SQLServer.
Esta usando o DTSx? MMS? Como esta fazendo esta migração e como montou a estrutura do SQL?
[]´s