FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ACTIVECONNECTION, con ADO y Harbour (SOLUCIONADO)
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
ACTIVECONNECTION, con ADO y Harbour (SOLUCIONADO)
Posted: Fri Feb 06, 2015 09:25 PM

Hola Amigos del foro:

Ahora intento pasar una aplicaci贸n de regular tama帽o de xHarbour a Harbour, la aplicaci贸n compila
bien pero al iniciarla me tira el error siguiente.

Application

Path and name: C:\AppNmnH\AppNmnH.Exe (32 bits)
Size: 3,879,936 bytes
Compiler version: Harbour 3.2.0dev (r1412151448)
FiveWin Version: FWH 13.11
Windows version: 6.2, Build 9200

Time from start: 0 hours 0 mins 0 secs
Error occurred at: 06/02/2015, 15:18:32
Error description: (DOS Error -2147352562) WINOLE/1007 Argument error: ACTIVECONNECTION
Args:
[ 1] = O adodb.connection

Stack Calls

Called from: => TOLEAUTO:ACTIVECONNECTION( 0 )
Called from: C:\AppNmnH\Source\AppNmn.Prg => LEEEMPRESA( 668 )
Called from: C:\AppNmnH\Source\AppNmn.Prg => MAIN( 117 )

Alguna pista?

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: ACTIVECONNECTION, con ADO y Harbour (SOLUCIONADO)
Posted: Sat Feb 07, 2015 05:06 PM
Armando

Sorry for my bad translation .. are you trying to migrate an xHarbour ADO application to Harbour ADO ?

Typically I set up my global connection like this .. then pass the connection object to my recordsets ?? Example here from MS Access or MS Sql Server.

Hope this helps .. I have not tested this with Harbour but it should work.

Rick Lipkin

Code (fw): Select all Collapse
Local cDefa,cFile,nStart,xProvider,xSource,xDatabase,xPassword,xUserId,xString,xCatalog
Local oRsUser,cSql,oErr

Public oCn

// where .exe started from is default directory //

cFILE 聽:= GetModuleFileName( GetInstance() )
nSTART := RAT( "\", cFILE )
cDEFA 聽:= SUBSTR(cFILE,1,nSTART-1)

SET DEFA to ( cDEFA )


xPROVIDER := "Microsoft.Jet.OLEDB.4.0"
xSOURCE 聽 := cDEFA+"\Billing.mdb"
xPASSWORD := "xxxxxxxx"


// sql server
xCatalog := "YourDatabase"
xUserId 聽 := "ZZZZZZZ"


xDatabase := "A" 聽// access

IF xDATABASE = "A"
聽 聽xSTRING := 'Provider='+xPROVIDER+';Data Source='+xSOURCE+';Jet OLEDB:Database Password='+xPASSWORD
ELSE
聽 聽xSTRING := 'Provider='+xPROVIDER+';Data Source='+xSOURCE+';Initial Catalog='+xCATALOG+';User Id='+xUSERID+';Password='+xPASSWORD
ENDIF

oCn := CREATEOBJECT( "ADODB.Connection" )

TRY
聽 聽oCn:Open( xString )
CATCH oErr
聽 聽Saying := "Could not open a Global Connection to Database "+xSource
聽 聽MsgInfo( Saying )
聽 聽RETURN(.F.)
END TRY

REQUEST DBFCDX
REQUEST DBFFPT
rddsetdefault( "DBFCDX" )

// open a recordset with global connection oCn

oRsUser := TOleAuto():New( "ADODB.Recordset" )
oRsUser:CursorType 聽 聽 := 1 聽 聽 聽 聽// opendkeyset
oRsUser:CursorLocation := 3 聽 聽 聽 聽// local cache
oRsUser:LockType 聽 聽 聽 := 3 聽 聽 聽 聽// lockoportunistic

cSQL := "SELECT * From [Staff] Order by [Lname]"

TRY
聽 oRsUser:Open(cSQL,oCn )
CATCH oErr
聽 MsgInfo( "Error in Opening Staff table" )
聽 RETURN(.F.)
END TRY

xbrowse(oRsUser )

oRsUser:CLose()
oCn:CLose()

Return(nil)
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: ACTIVECONNECTION, con ADO y Harbour (SOLUCIONADO)
Posted: Sat Feb 07, 2015 05:26 PM
Rick Lipkin wrote:Armando

are you trying to migrate an xHarbour ADO application to Harbour ADO ?

Yes.

Code (fw): Select all Collapse
聽 oRsUser:Open(cSQL,oCn ) 聽 聽// Here is the clue (Solved)


Rick:

Thanks for you kind answer, the problem is solved.

Best regards
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: ACTIVECONNECTION, con ADO y Harbour (SOLUCIONADO)
Posted: Sun Feb 08, 2015 02:41 AM

como?
para que quede de referencia.

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: ACTIVECONNECTION, con ADO y Harbour (SOLUCIONADO)
Posted: Sun Feb 08, 2015 05:31 AM
Carlos:

Con todo gusto.

El siguiente c贸digo con xHarbour funciona de 100
Code (fw): Select all Collapse
聽 聽 oRsEmp:Source聽 聽聽 聽 聽 聽 聽 聽 := "SELECT " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "* " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "FROM " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "Empresa"

聽 聽 oRsEmp:ActiveConnection(oApp:oCon)

聽 聽 TRY
聽 聽 聽 聽 oRsEmp:Open()
聽 聽 CATCH oError
聽 聽 聽 聽 MsgStop( "No se ha podido abrir el RECORDSET de Empresa !", oApp:cAplicacion)
聽 聽 聽 聽 ShowError(oError)
聽 聽 聽 聽 Cierra()
聽 聽 聽 聽 RETURN(.F.)
聽 聽 END


Pero con Harbour tira un error en la l铆nea oRsEmp:ActiveConnection(oApp:oCon)

La soluci贸n?
Code (fw): Select all Collapse
聽 聽 oRsEmp:Source聽 聽聽 聽 聽 聽 聽 聽 := "SELECT " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "* " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "FROM " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "Empresa"

//聽 oRsEmp:ActiveConnection(oApp:oCon) 聽 Quitar esta l铆nea, es la que da problemas

聽 聽 TRY
聽 聽 聽 聽 oRsEmp:Open(oRsEmp:Source,oApp:oCon) 聽 // y modificar esta l铆nea
聽 聽 CATCH oError
聽 聽 聽 聽 MsgStop( "No se ha podido abrir el RECORDSET de Empresa !", oApp:cAplicacion)
聽 聽 聽 聽 ShowError(oError)
聽 聽 聽 聽 Cierra()
聽 聽 聽 聽 RETURN(.F.)
聽 聽 END


Servido, Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero

Continue the discussion