Jump to content
Fivewin Brasil

Driver ODBC para DBF (xHarbour)


emotta

Recommended Posts

Você está tentando fazer algo assim:
Do While .t.
   cnMySql := ConexaoMySql()
   cnMySql:Open() // -------------------- Error occurs here
   cSql = “SELECT * FROM JPNFEXML WHERE NECHAVE=’35111111111111111111111’”
   rsMySql := cnMySql:Execute(cSql)
   Do While .Not. rsMySql:Eof()
         rsMySql:MoveNext()
   Enddo
   rsMySql:Close()
   rsMySql := NIL
   cnMySql:Close()
   cnMySql := NIL
   Inkey(120)
Enddo
 
Function ConexaoMySql()
   Local cnMySql
   cnMySql := win_OleCreateObject(“ADODB.Connection”)
   cnMySql:ConnectionString := “Driver={MySQL ODBC 3.51 Driver};Server=xxx;Option=131072;Stmt=;Database=xxx;User       ID=xxx;Password=xxx;”
   cnMySql:CursorLocation = 3
   cnMySql:CommandTimeOut = 30
   cnMySql:ConnectionTimeOut = 30
Return cnMySql

http://fivetechsupport.com/forums/viewtopic.php?f=6&t=26377

http://listarc.com/showthread.php?3084065-+Harbour+%2B+MySql

abs,

Link to comment
Share on other sites

Bem, é que eu gostei da ideia do Edu em usar dbf com ADO, pelo fato de trabalhar com comandos sql usando dbf, isso ajudaria e muito uma futura conversão e poderia ir aprendendo sem muita dor de cabeça, acho né, pois se tratando de programação nada é tão simples que não possa complicar. rsrsrsrsrs, mas vlw....acho que irei estudar os SGBD e usar o sqlrdd que de tudo que li é a melhor solução.

Link to comment
Share on other sites

  • 7 years later...
Em 08/04/2014 at 10:36, Valdir disse:

Olá Eduardo e amigos...

Já há alguns anos venho usando os drives ODBC para acessar os arquivos DBF ao gerar Relatórios no meu Sistema.

Até o momento, nunca tive problemas em usar o "{Microsoft dBASE Driver (*.dbf)}", seja no "Win XP, Vista e Win7" e no "Win8" ainda não testei.

Para isso, tenho apenas que configurar corretamente a "Fontes de Dados (ODBC)" nas Ferramentas Administrativas do Windows.

Espero ter ajudado.

abração.

 

Link to comment
Share on other sites

  • 2 months later...

Pessoal, tem como usar comandos SQL mais complexos? Testei e deu certo, mas nem um LEFT JOIN funcionou. Apenas "SELECT * FROM"

Em 08/04/2014 at 14:29, emotta disse:

consegui via ADO... Vou usar assim...

abração galera


Function U_Teste()
Local oConn
Local cSQL
Local rsClaims

oConn:= CreateObject("ADODB.Connection")
oConn:Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\dados;Extended Properties=DBASE IV")

cSQL := "SELECT * FROM SP50001"

rsClaims := CreateObject("ADODB.Recordset")
rsClaims:CursorLocation := 3  // adUseClient
rsClaims:CursorType := 3 // adOpenStatic
rsClaims:ActiveConnection:= oConn
rsClaims:Open(cSQL)

rsClaims:MoveFirst()
MsgStop(rsClaims:Fields("SP5_CODIGO"):Value)

Return

 

Link to comment
Share on other sites

1 hora atrás, macs disse:

Pessoal, tem como usar comandos SQL mais complexos? Testei e deu certo, mas nem um LEFT JOIN funcionou. Apenas "SELECT * FROM"

 

eu não tenho certeza mas acredito que não, a limitação é no DBF, mas se conseguir avisa o pessoal....

Link to comment
Share on other sites

Amiguinhos,

O ODBC geralmente é instalado com o Office por causa do Access e Excel que manipulam tipos de databases diferentes, mas sendo o caso de obter erro não custa nada instalar o ODBC novamente.

Pode ser necessário criar uma DSN para direcionar a pasta que contém os DBFs. Por sorte existem alguns exemplos na pasta SAMPLES que mostram este recurso.

Já fizemos muitos testes com classes ADO tempos atrás e surgiram até algumas que se tornaram padrão em algumas versões do Fivewin como ADORDD ou RDDADO simplificando o intercambio.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...