FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Conexion Mysql en forma remota
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Conexion Mysql en forma remota
Posted: Thu May 22, 2008 10:52 PM

Por fa quien tiene un ejemplo completo para hacer una conexion Remota con Mysql y hacer la consula con Xbrowse, La conexion que hago actualmente me funciona bien en forma local, pero no me funciona en forma remota

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Conexion Mysql en forma remota
Posted: Thu May 22, 2008 11:06 PM
Hola tienes que tener el puerto 3306 abierto si usas un firewall y si es desde un lugar remoto atraves de internet en el router tienes que hacer nap al 3306 a la pc donde estas corriendo mysql. Tambien tienes que dicerle a mysql que te vas a conectar de forma remota.

Ej.

si el usuario remoto quiere conectarse en la definicion de clave tienes que ponerle % en vez de localhost
Saludos,



Pablo Alberto Vidal

/*

------------------------------------------------------

Harbour 3.2.0, Fivewin 17.02, BCC7

------------------------------------------------------

*/
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Conexion Mysql en forma remota
Posted: Fri May 23, 2008 03:59 PM
pablovidal wrote:Hola tienes que tener el puerto 3306 abierto si usas un firewall y si es desde un lugar remoto atraves de internet en el router tienes que hacer nap al 3306 a la pc donde estas corriendo mysql. Tambien tienes que dicerle a mysql que te vas a conectar de forma remota.

Ej.

si el usuario remoto quiere conectarse en la definicion de clave tienes que ponerle % en vez de localhost


Y tienes algun el codigo de ejemplo, la conexion con Utilitarios como Mysql Fron me funciona bien
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 133
Joined: Mon May 12, 2008 04:13 PM
Conexion Mysql en forma remota
Posted: Fri May 23, 2008 06:50 PM

Hola
Para trabajar con MySql puedes Instalar AppServer el te instala Php, Apache y Mysql
Despues de Instalado Escribes en el Explorador http:\localhost o de igual formar http:\tuip
y desde ese lugar puedes entrar y administrar la base de datos y crearla si quieres. Por otro lado esta el MySql-Front que es como el famoso DBU para poderte conectar remotamente tienes que tener en cuenta que el puerto usado para accesar a MySql es el 3306 y si tienes algun Firewall o cortafuegos el lo desactiva aqui te dejo algunas paginas que te muestran si estan abiertos o cerrados los puerto

http://www.upseros.com/portscan.php

http://www.internautas.org/w-scanonline.php

http://www.nsrch.com/port_result.php

http://security.symantec.com/sscv6/defa ... venid=sym

cuando se instala el AppServ

el crea una carpeta
c:\AppServ\MySql\Data
en esa carpeta se crean la base de datos y dentro de ellas las tablas son
parecidos a la forma como se crean los dbf

si quieres te envio una base de datos y con el ejemplo de xbrowse tanto con dbf y con MySql lo unico que no he podido es con el xbrowse indicarle los campos que quiero que salgan

me das tu correo y te envio lo que necesites

Luis Duque
San Cristobal-Venezuela

&
Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Conexion Mysql en forma remota
Posted: Fri May 23, 2008 07:01 PM
Usando la Eagle1 de Manu:

 ::oConLocal := TMSConnect():New()

 If !::oConLocal:Connect( "196.3.81.5", "usuario", "clave", , 3306, ,( 65536 + 131072 ) )
  Return( .F.)
 Endif


( 65536 + 131072 ) con esto puedo mandar a gravar mas de un query a mysql
Saludos,



Pablo Alberto Vidal

/*

------------------------------------------------------

Harbour 3.2.0, Fivewin 17.02, BCC7

------------------------------------------------------

*/
Posts: 133
Joined: Mon May 12, 2008 04:13 PM
Ejemplo
Posted: Fri May 23, 2008 07:22 PM
Hola

este ejemplo trabaja bien tanto con dbf como mysql
cree una variable lAdo=.t. para MySql lAdo=.f. para Dbf
Este ejemplo esta con Adobase de Adolfo de Chile es muy bueno y facil de utilizar

#include "FiveWin.ch"
#include "xBrowse.ch"

STATIC oWnd

//-------------------------------------------------------------------------------------
Function Main()

SET EPOCH TO 1920
SET DATE FORMAT "dd/mm/yyyy"
SET WRAP ON

REQUEST DBFCDX

If !Conectar()
   Return Nil
Endif

maestro()

Return Nil

//-----------------------------------------------------------------------------
Function conectar()
   Local Retorno:=.F.
   LOCAL oErr,oCs
   Public oCn

   TRY
      oCn:= CreateObject( "ADODB.Connection" )
      oCs:= "DRIVER={MySQL ODBC 3.51 Driver};  SERVER=localhost; DATABASE=ecst06; UID=root; PWD=10157763"
      oCn:Open(oCs)
      Retorno:=.T.
   CATCH oErr
      MSGAlert( "Error: " + oErr:Operation + " -> " + oErr:Description )
      Retorno:=.F.
   END

   Return Retorno


Function maestro()
   local oBrw
	Local cSelect:=  "select maestro.FECASI, maestro.ASIENTO, maestro.DESCASI, maestro.TOTDEB, maestro.TOTHAB from maestro"

	lAdo := .t.
   
   If lAdo
   	oDbDet:=TAdoBase():New( oCn, "maestro", cSelect )
   Else
		use maestro new
		select maestro   
   EndIf
   
   DEFINE WINDOW oWnd FROM 1, 1 TO 700,950 PIXEL TITLE "prueba adobase"
	  
  	     oBrw := TXBrowse():New( oWnd ) 
 		  
        oBrw:nTop    := 20
        oBrw:nLeft   := 10
        oBrw:nBottom := 650
        oBrw:nRight  := 900
                
        oBrw:nColDividerStyle    := LINESTYLE_BLACK
        oBrw:nRowDividerStyle    := LINESTYLE_BLACK
        oBrw:nHeaderLines        := 2
        oBrw:nFooterLines        := 2
        oBrw:nDataLines          := 1
        oBrw:lColDividerComplete := .T.
		  oBrw:lFooter             := .t.
        
   	  oBrw:cToolTip = "Este es el poder del xBrowser de fwh"
   	  
        If lAdo
        	  oBrw:SetAdo(oDbDet:oRcs)
        Else	  
           oBrw:SetRDD() 
        EndIf
        
   	  oBrw:CreateFromCode()
   
   ACTIVATE WINDOW oWnd
   
   If lAdo   
   	oDbDet:Close()
   EndIf

RETURN NIL
Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
Posts: 326
Joined: Sun Oct 09, 2005 05:22 PM
Conexion Mysql en forma remota
Posted: Fri May 23, 2008 10:48 PM

Aprovecho el viaje (y no es publicidad).

Actualmente estoy usando SQLRDD y veo que trabaja sin problema con procesos que no requieran de grandes vol煤menes de informaci贸n.

En algunos procesos (como facturaci贸n) estoy afectando hasta ocho tablas en forma remota y concurrente, !funciona!.

Si hay alguna duda puedes descargar RC-eXtended desde www.despachoarteaga.com.mx, revisa la AYUDA en la secci贸n Operaci贸n Remota o si gustas puedes ponerte en contacto conmigo a mi correo y hacemos las pruebas que requiras.

Todo este c贸digo es totalmente xBase trabajado con FiveWin y xHarbour con unas cuantas l铆neas de cambio para ligar la LIB.

Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Conexion Mysql en forma remota
Posted: Tue May 27, 2008 09:22 PM
pablovidal wrote:Usando la Eagle1 de Manu:

 ::oConLocal := TMSConnect():New()

 If !::oConLocal:Connect( "196.3.81.5", "usuario", "clave", , 3306, ,( 65536 + 131072 ) )
  Return( .F.)
 Endif


( 65536 + 131072 ) con esto puedo mandar a gravar mas de un query a mysql


Pablo me podrias faciliar un ejemplo completo usando TMSConnect():New()

Que diferencia entre TMSConnect():New() y CreateObject( "ADODB.Connection" )
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 199
Joined: Fri Apr 18, 2008 04:21 PM
Conexion Mysql en forma remota
Posted: Wed May 28, 2008 10:57 PM
La diferencia es que una es Odbc y la otra es Oledb.

Atentamente,
Julio Rodrigo Ponce Hinestroza


ruben Dario wrote:
pablovidal wrote:Usando la Eagle1 de Manu:

 ::oConLocal := TMSConnect():New()

 If !::oConLocal:Connect( "196.3.81.5", "usuario", "clave", , 3306, ,( 65536 + 131072 ) )
  Return( .F.)
 Endif


( 65536 + 131072 ) con esto puedo mandar a gravar mas de un query a mysql


Pablo me podrias faciliar un ejemplo completo usando TMSConnect():New()

Que diferencia entre TMSConnect():New() y CreateObject( "ADODB.Connection" )

Continue the discussion