PROBLEMAS COM IMPORTACAO DE ARQUIVO .DBF

 Tópico anterior Próximo tópico Novo tópico

PROBLEMAS COM IMPORTACAO DE ARQUIVO .DBF

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#349529 - 05/08/2010 14:06:22

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Pessoal, Boa tarde.......

Estou com um problema []grave[] em minha aplicao, e at agora no consegu resolver o meu problema. o seguinte:
Eu preciso importar um arquivo .DBF para o meu bco de dados SQL SERVER 2005, pelo menos, 2 vezes ao dia. S que algumas vezes o istema importa o arquivo, e em outras vezes o sistema no o importa.

Fiz o cdigo para a importao de 2 maneiras, vou postar as 2 maneiras e os problemas que esto acontecendo nelas:

FORMA 1:
        SQL = []Select * from lista[]
        RSDBF.Open SQL, CnDBF, adOpenKeyset, adLockOptimistic
        If Not RSDBF.EOF Then
            Cn.BeginTrans
            Cn.Execute []delete from  Alunos[]
            Cn.CommitTrans
            prgImportacao.Max = RSDBF.recordCount
            prgImportacao.min = 0
            prgImportacao.Visible = True
        End If
        Do While Not RSDBF.EOF
            SQL = []INSERT INTO ALUNOS (LICODIGO, LINOME, LIVIA, LIBLOQUEIO, LIMENSAG, LIHORINI, LIHORFIN, LIHORINI2, LIHORFIN2, LIVALIDADE, LIVALEXA, LIVALAVA, LIDTAGEXA, LIDTAGAVA) VALUES []
            SQL = SQL & [] ([][] & RSDBF!licodigo & [][], [][] & RSDBF!linome & [][], [][] & RSDBF!LIVIA & [][], [][] & RSDBF!LIBLOQUEIO & [][], [][] & RSDBF!limensag & [][], [][] & RSDBF!LIHORINI & [][], []
            SQL = SQL & [] [][] & RSDBF!LIHORFIN & [][], [][] & RSDBF!LIHORINI2 & [][], [][] & RSDBF!LIHORFIN2 & [][], [][] & RSDBF!LIVALIDADE & [][], [][] & RSDBF!livalexa & [][], [][] & RSDBF!livalava & [][], []
            SQL = SQL & [] [][] & RSDBF!lidtagexa & [][], [][] & RSDBF!lidtagava & [][])[]
            
            Cn.BeginTrans
            Cn.Execute SQL
            Cn.CommitTrans
            RSDBF.MoveNext
            prgImportacao.value = prgImportacao.value + 1
            DoEvents
        Loop

PS: Neste exemplo, tem horas que o meu sistema abre o arquivo normalmente, mas no encontra registro NENHUM no meu arquivo DBF, mas ao eu abrir o mesmo arquivo DBF no Excell, ele me mostra a porrada de registros nele.


Forma 2:
            SQL = []SELECT * INTO ALUNOS1 []
            SQL = SQL & [] FROM OPENROWSET([]MSDASQL[],[]Driver={Microsoft dBASE Driver (*.dbf)}; DefaultDir=[] & App.Path & []\; SourceType=dbf[],[]select * from lista[])[]

            Cn.BeginTrans
            Cn.Execute SQL
            Cn.CommitTrans

PS: Neste exemplo, est me dando o seguinte erro:
O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase] [](desconhecido)[] no um caminho vlido. Certifique-se de que o nome do caminho esteja escrito corretamente e que voc esteja conectado ao servidor no qual o arquivo reside.[].


A Coneco com o arquivo DBF est sendo feita da seguinte forma:
    Set CnDBF = New ADODB.Connection
    []Usando Driver do Foxpro:
    str_CN = []Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=[] & m_Arq & [];Exclusive=No; collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;[]

    
    CnDBF.ConnectionString = str_CN
    CnDBF.CursorLocation = adUseClient
    CnDBF.Open str_CN


Preciso fazer com que este arquivo DBF seja importado sempre sem maiores problemas, portanto, para mim seria melhor se fosse feito via OPENROWSET.


Conto com a ajuda de vocs.

  
Quando precisar, pode contar comigo....
E quando precisar, no esquea de agradecer, pois a educao a ALMA DO NEGCIO...


Obrigado.

Luiz Cesar

#349538 - 05/08/2010 15:00:24

LUIS FLAVIO
DIVINOPOLIS
Cadast. em:Outubro/2005


Luiz acho que seria muito bom voc utilizar o OPENROWSET, voc poderia criar um procedure que executa, segue o link para um verificada!

http://msdn.microsoft.com/pt-br/library/ms190312.aspx




Que o homem progrida quanto quiser, que todos os ramos do conhecimento humano se desenvolvam ao mais alto grau, coisa alguma substituir a Bblia, base de toda a cultura e de toda educao ...

#349541 - 05/08/2010 15:16:30

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Caro Luis Flavio,

S que ao tentar utilizar o OPENROWSET, ele me retorna aquele erro acima citado por mim, ao utlizar via VB6, E se eu tentar executar a query diretamente no meu SQL SERVER, ele me retorna o seguinte erro por l.


O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase] [](desconhecido)[] no um caminho vlido. Certifique-se de que o nome do caminho esteja escrito corretamente e que voc esteja conectado ao servidor no qual o arquivo reside.[].
O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase]Atributo de seqncia de caracteres de conexo invlido SourceType[].
O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase]Atributo de seqncia de caracteres de conexo invlido SourceType[].
O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase]Atributo de seqncia de caracteres de conexo invlido SourceType[].
O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase]Erro geral No possvel abrir a chave []Temporary (volatile) Jet DSN for process 0x6e4 Thread 0x91c DBC 0x4a4f0064 Xbase[] do Registro.[].
O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase]Atributo de seqncia de caracteres de conexo invlido SourceType[].
O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase]Atributo de seqncia de caracteres de conexo invlido SourceType[].
O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase]Atributo de seqncia de caracteres de conexo invlido SourceType[].
O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase]Atributo de seqncia de caracteres de conexo invlido SourceType[].
O provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[] retornou a mensagem [][Microsoft][Driver ODBC para dBase]Erro geral No possvel abrir a chave []Temporary (volatile) Jet DSN for process 0x6e4 Thread 0x91c DBC 0x4a4f0064 Xbase[] do Registro.[].
Msg 7303, Level 16, State 1, Line 1
No possvel inicializar um objeto de fonte de dados do provedor do OLE DB []MSDASQL[] para o servidor vinculado [](null)[].


  
Quando precisar, pode contar comigo....
E quando precisar, no esquea de agradecer, pois a educao a ALMA DO NEGCIO...


Obrigado.

Luiz Cesar

#349562 - 05/08/2010 17:12:23

MARCOSLING
SAO PAULO
Cadast. em:Agosto/2008


Eu utilizo DAO para abrir o DBF e funciona sem problemas.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por LCSD em 10/08/2010 17:22:49