Abrir archivos FDB

Post Reply
User avatar
noe aburto
Posts: 418
Joined: Wed Nov 26, 2008 6:33 pm
Location: Morelia, Mich. Mexico.

Abrir archivos FDB

Post by noe aburto »

Saludos.

Tengo la necesidad de abrir archivos FBD para la exportacion de informacion
Alguna lib que me permita hacerlo?

Gracias.
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
User avatar
vilian
Posts: 989
Joined: Wed Nov 09, 2005 2:17 am
Location: Brazil
Has thanked: 3 times
Contact:

Re: Abrir archivos FDB

Post by vilian »

ADORDD permite.
Sds,
Vilian F. Arraes
vilian@vfatec.com.br
Belém-Pa-Brazil
User avatar
noe aburto
Posts: 418
Joined: Wed Nov 26, 2008 6:33 pm
Location: Morelia, Mich. Mexico.

Re: Abrir archivos FDB

Post by noe aburto »

Saludotes.

Ahora ya confirmado que con ADORDD, pero esta es una LIB, PRG o OBJ,

Como lo integro en mi executable?
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Abrir archivos FDB

Post by ruben Dario »

Si te refieres a base de datos en Fiberbird,
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
noe aburto
Posts: 418
Joined: Wed Nov 26, 2008 6:33 pm
Location: Morelia, Mich. Mexico.

Re: Abrir archivos FDB

Post by noe aburto »

Gracias Dario.

Exactamente a esa me refiero: Firebird
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Abrir archivos FDB

Post by ruben Dario »

En la contribucciones esta el ejemplo, puedes construir la libreria, mira el ejemplo.

contricuion Harbour harbour-core-master\contrib\hbfbird

te coloco la libreria para Harbour construida para Firebird_2_5
[url]
https://www.dropbox.com/s/nhewpzr4q0hua ... D.rar?dl=0
[/url]

Enlazas los LIb en tu compilacion, y los DLL los colocas donde esta tu ejecutable.
Buena suerte


Code: Select all | Expand

    Local oServer, oQuery, oRow, i, x, aTables, aStruct, aKey    Local cServer := 'test.gdb'       Local cUser := 'sysdba'    Local cPass := 'masterkey'    Local nDialect := 1    Local cQuery    lOCAL nClrText:=10485760 // Color del texto    oServer := TFBServer():New(cServer, cUser, cPass, nDialect)    if oServer:NetErr()        alert("No Existe Base de Datos")        ? oServer:Error()        return    end      oQuery := oServer:Query('SELECT code, dept, name, sales, salary, creation FROM test')      ln := 1   DO WHILE ! oQuery:Eof()      if ln>49        @ ln-46+1,20 say oQuery:FieldGet( 1 )  //con @ 1,1 say "dsdjsk"  da error        @ ln-46+1,30 say oQuery:FieldGet( 2 )        @ ln-46+1,35 say oQuery:FieldGet( 3 )      else        @ ln+1,1  say oQuery:FieldGet( 1 )  //con @ 1,1 say "dsdjsk"  da error        @ ln+1,10 say oQuery:FieldGet( 2 )        @ ln+1,15 say oQuery:FieldGet( 3 )      endif        ln++        oQuery:Skip()   END            ? "Closing..."            return      
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
vilian
Posts: 989
Joined: Wed Nov 09, 2005 2:17 am
Location: Brazil
Has thanked: 3 times
Contact:

Re: Abrir archivos FDB

Post by vilian »

Amigos,

Estoy probando el código y funcionó bien. A menos que se coloca un campo de tipo DATA en la Query.

Ex: oQuery := oServer:Query("SELECT id_ponto,nosso_numero,data_emissao FROM BOLETO_BANCARIO")

Sempre gera um erro -206. Si me quedo la misma consulta en IBExpert , funciona bien .

¿Alguna idea de cómo resolver esto?
Sds,
Vilian F. Arraes
vilian@vfatec.com.br
Belém-Pa-Brazil
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Abrir archivos FDB

Post by ruben Dario »

Cual código probaste. ?
Puedes colocar el codigo
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
vilian
Posts: 989
Joined: Wed Nov 09, 2005 2:17 am
Location: Brazil
Has thanked: 3 times
Contact:

Re: Abrir archivos FDB

Post by vilian »

He probado el código que envió aqui.
Sds,
Vilian F. Arraes
vilian@vfatec.com.br
Belém-Pa-Brazil
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Abrir archivos FDB

Post by ruben Dario »

Bueno si es el que coloque.

tu dices que cuando colocas data_emissao te da error.

Tendria qeu hacer la prueba, haber si me da lo mismo, Estas usando Fiberdir o Interbase, aunque tengo entendido es igual.

No se si puede mandame el trozo de codigo y la base de datos, es muy grande. para ver como te puedo ayudar.

data_emissao que tipo de columna es, Numerico o caracter,
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
vilian
Posts: 989
Joined: Wed Nov 09, 2005 2:17 am
Location: Brazil
Has thanked: 3 times
Contact:

Re: Abrir archivos FDB

Post by vilian »

Ruben,

Estoy usando Firebird 1.5. La siguiente estructura de la tabla

Image

El código que estoy corriendo es el siguiente :

Code: Select all | Expand

#include "fivewin.ch"FUNCTION Main()LOCAL oServer, oQuery, oRow, i, x, aTables, aStruct, aKey,aDados:={}    LOCAL cServer := "c:\tec2000\Albano\Analista2.fdb"    LOCAL cUser := "sysdba"    LOCAL cPass := "masterkey"    LOCAL nDialect := 1    LOCAL cQuery    LOCAL nClrText:=10485760 // Color del texto    SET DATE BRIT    oServer := TFBServer():New(cServer, cUser, cPass, nDialect)    if oServer:NetErr()        alert("No Existe Base de Datos")        ? oServer:Error()        return nil    end   oQuery := oServer:Query("SELECT id_ponto,nosso_numero FROM BOLETO_BANCARIO")   ln := 1   MsgInfo(IF(oQuery:Eof(),"SIM","NÂO"))   DO WHILE Ln<=100 .AND. .NOT.  oQuery:Eof()      AADD(ADADOS,{oQuery:FieldGet( 1 ),oQuery:FieldGet( 2 ),oQuery:FieldGet( 3 )})      Ln++      oQuery:Skip()   END   xbrowse(adados)   xbrowse(oQuery)RETURN nil


Sólo cambia la consulta para incluir un campo de tipo DATE o NUMERO, ya no funciona.

Ex: oQuery := oServer:Query("SELECT id_ponto,nosso_numero,processamento FROM BOLETO_BANCARIO")

No genera un error de ejecución , pero no muestra los datos.
Sds,
Vilian F. Arraes
vilian@vfatec.com.br
Belém-Pa-Brazil
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Abrir archivos FDB

Post by ruben Dario »

Buen He hecho pruebas con la Version 2.5, y no he tenido problemas. Con la 1.5 no la he trabajado.

Si gustas mandame la Base de datos , hago la prueba.

O puedes Instalar el programa RazorSQL y haces la consulta, haber que pasa.
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
vilian
Posts: 989
Joined: Wed Nov 09, 2005 2:17 am
Location: Brazil
Has thanked: 3 times
Contact:

Re: Abrir archivos FDB

Post by vilian »

Instalei o IBExpert Eu e a Query vai Bem com ele. O problema é apenas com o FWH :(
O Arquivo FDB é muito grande pra exportar.

Acredito que o problema está relacionado com o "Dialect", estamos selecionando 1, mas no IBExpert aparece 3.
Sds,
Vilian F. Arraes
vilian@vfatec.com.br
Belém-Pa-Brazil
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Abrir archivos FDB

Post by ruben Dario »

No se si la puedes redecir tu base , para podr hacer la prueba.

Has hecho la prueba , Haciendo la conexion con ADO.
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
vilian
Posts: 989
Joined: Wed Nov 09, 2005 2:17 am
Location: Brazil
Has thanked: 3 times
Contact:

Re: Abrir archivos FDB

Post by vilian »

Resolvi o problema usando ADO/ODBC.

Code: Select all | Expand

#include "fivewin.ch"#include "AdoDb.ch"FUNCTION Main()LOCAL cDirLoc,oError,CNN,oIni,cIpServ:="",cBcoDados,aDados:={},oCursor   SET DATE BRIT   cDirLoc := Rtrim(( CurDrive()+":\"+CurDir() ))   cDirLoc += If(Right(cDirLoc,1)="\","","\")   IF .NOT. File(cDirLoc+"vfatec.ini")      MsgInfo("Aqruivo VFATEC.INI não encontrado !","Atenção")   ELSE      INI oIni FILE (cDirLoc+"vfatec.ini")          GET cIpServ   SECTION "BancoDados" ENTRY "Ip"         OF oIni          GET cBcoDados SECTION "BancoDados" ENTRY "ArquivoFdb" OF oIni      ENDINI      IF Empty(cIpServ) .OR. Empty(cBcoDados)         MsgInfo("Configuração para acesso ao banco de dados não definida !","Atenção")      ELSE         TRY             CNN:=CreateObject("ADODB.Connection")             CNN:Open("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME="+cIpServ+":"+cBcoDados+";CHARSET=WIN1252;DIALECT=3;CLIENT=GDS32.dll")             //CNN:Open("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=10.10.1.11:C:\tec2000\albano\analista2.fdb;CHARSET=WIN1252;DIALECT=3;CLIENT=GDS32.dll")         CATCH oError             Error Connection CNN             RETURN nil         END         TRY             oCursor:=CreateObject("ADODB.Recordset")         CATCH oError              Error Connection CNN              RETURN nil         END         oCursor:Open("SELECT b.id_ponto,b.nosso_numero,b.valor_documento,b.processamento,p.nome_ponto FROM boleto_bancario AS b, ponto AS p WHERE b.valor_documento > 0 AND b.id_ponto=p.id_ponto and processamento > '2015-09-01'", CNN, 2, 3)         oCursor:MoveFirst()         DO WHILE .NOT. oCursor:Eof()            Aadd(aDados,{oCursor:Fields["nosso_numero"]:Value, oCursor:Fields["processamento"]:Value, oCursor:Fields["nome_ponto"]:Value, oCursor:Fields["valor_documento"]:Value})          oCursor:MoveNext()         ENDDO         xBrowse( aDados )      ENDIF   ENDIFRETURN nil
Sds,
Vilian F. Arraes
vilian@vfatec.com.br
Belém-Pa-Brazil
Post Reply