TDsn y TMyDsn ( crear ODBC desde aplicacion )

TDsn y TMyDsn ( crear ODBC desde aplicacion )

Postby dbzap » Mon Dec 04, 2006 12:36 pm

Hola a todos.
El otro dia bajé del sitio de Patrick ( fivewin.info creo ) una clase para crear ODBC desde la aplicacion ( TDSN ), necesitaba hacerlo para una base en ACCESS, pero desafortunadamente no funcionó.
Existe una clase mejorada para hacer esta tarea, o se debe hace de otra forma.
De antemano agradezco su ayuda.
Saludos

PD. Por error meti este post en el foro ingles....disculpas !!
Julio Gonzalez V.
RANDOM S.A.
SISTEMICA S.A.
User avatar
dbzap
 
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile

Postby Rochinha » Tue Dec 05, 2006 8:51 am

Amigo

No te preocupes

Usteds podes tentar mi bilbioteca

Mira la explicacion em:

Explicacion en Portugues

E baja la lib en:

http://www.shoppmarketing.com/forum/hbado.zip

Tiene exemplo de uso con mysql, sql-server, access, xml, firebird sem uso de ODBC, és praticamente nativo.
Rochinha
 
Posts: 309
Joined: Sun Jan 08, 2006 10:09 pm
Location: Brasil - Sao Paulo

Postby Biel EA6DD » Tue Dec 05, 2006 11:47 am

Puedes hacerlo utilizando la funcion SQLConfigDataSource de ODBCCP32.dll

Code: Select all  Expand view
#include "Fivewin.ch"
FUNCTION CfgOdbc()
   LOCAL nRet,cDriver,cAttribute
   cDriver   :="Client Access ODBC Driver (32-bit)"
   cAttribute:="DSN=BIEL"+Chr(0)+"DESCRIPTION=descipcion"+Chr(0)+"SERVER=192.168.101.1"
   nRet:=CrtDtaSrc(0,1,cDriver, cAttribute )
   //nRet->0 no se ha creado, 1 creado ok
RETURN NIL

DLL32 FUNCTION CrtDtaSrc(hWnd AS LONG, nRequest AS LONG, @cDriver as STRING  , @cAttributes as STRING) ;
   AS _INT PASCAL FROM "SQLConfigDataSource" LIB "ODBCCP32"

cDriver es el nombre del driver por ejemplo "SQL Server", etc
Los atributos varian dependiendo del controlador ODBC, los tipicos son DSN,SERVER, DESCRIPTION, DATABASE, ...
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby dbzap » Tue Dec 05, 2006 12:24 pm

gracias por la ayuda.
la revisare y les comento.
saludos
Julio Gonzalez V.
RANDOM S.A.
SISTEMICA S.A.
User avatar
dbzap
 
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile

Postby Francisco Horta » Wed Dec 06, 2006 5:07 am

hace un par de semanas tenia la misma necesidad, accesasr y tomar datos de una .mdb y manipular la info, leerla, guardarla a dbf, no necesite nada de odbc, use ado y muy facil, eso si tuve que usar xharbour, pero muy sencillo lo que hice si requieres el ejemplo con gusto te lo paso.
salu2
paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Postby dbzap » Wed Dec 06, 2006 12:56 pm

Agradecido de cualquier ayuda.
mi correo es jgv@random.cl
Gracias.
Julio Gonzalez V.
RANDOM S.A.
SISTEMICA S.A.
User avatar
dbzap
 
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile

Postby Francisco Horta » Wed Dec 06, 2006 4:32 pm

julio, aki dejo el ejemplo, ojala a alguien mas le sea de utilidad.
como no supe como subir el archivo pues aki lo dejo, se que no es lo mejor.

#include "FiveWin.CH"
#include "Ado.CH"

// aDato := "MiDatabase.MDB"

STAT FUNC Importa(aDato)
LOCAL oConexionAdo := TOLEAUTO():New("adodb.connection")
LOCAL oRS := TOLEAUTO():New("adodb.recordset")
LOCAL oOpen, Rec:=0, cFile := Alltrim(aDato[1]),;
aFields:={}, cCod:=""

oOpen := "Provider= MicroSoft.Jet.OLEDB.4.0;Data Source="+cFile+";"


AADD(aFields,{"Color", "C_Grade"})
AADD(aFields,{"SCI", "SCI" })
AADD(aFields,{"Length", "LEN" })

oConexionAdo:Open(oOpen)

oRS:LockType := adLockOptimistic
oRS:CursorType := adOpenKeyset
oRS:ActiveConnection(oConexionAdo)
oRS:Source := "Select * from hvidata" // tu query aqui
oRS:Open()


oRS:MoveFirst()

DO WHILE !oRS:eof()

cCod := oRS:Fields("Bale ID"):Value // tomamos valor de la tabla de access del campo Bale ID
FOR x := 1 TO LEN(aFields)
(oDBF)->&(aFields[x,2]):=oRS:Fields(aFields[x,1]):Value // tomo los valores de access de los campos y los pongo en la dbf de acuerdo al nombre en el arreglo
NEXT
oRS:MoveNext()
ENDDO


oRS:Close()
oConexionAdo:Close()

RETURN NIL
salu2
paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 4 guests