Page 1 of 1

Ayuda con Mysql

PostPosted: Wed Jul 08, 2020 11:22 am
by jpcavagnaro
Hola gente, buen día, necesito ayuda para conectarme con mysql.

Instale mysql, workbench, el driver y logré con el UDL generar la cadena de conexión.

El tema es que cuando quiero conectarme con ADODB no logro conectarme, tambien tengo instalado en otra pc sqlexpress y la conexión funciona perfecto.

La conexión es "Provider=MSDASQL.1;Password=Cava1234;Persist Security Info=True;User ID=root;Data Source=jpcavagnaro;Initial Catalog=restaurate"

Que me falta instalar?

Saludos.
Jorge.

Re: Ayuda con Mysql

PostPosted: Wed Jul 08, 2020 11:52 am
by russimicro
Buen dia. Espero le sirva

Johnson Russi

Code: Select all  Expand view



static function ConnectToServerSql(oCon,cTipCon,cDirSer,cDatBas,cUseBas,cPasUse)

   

   LOCAL cPath := CURDRIVE() + ':\\' + CURDIR()+";"
   LOCAL lConnect := .f.
   LOCAL cDriSql := ""


   DO CASE

      CASE cTipCon == "MYSQL"

            cDriSql := "DRIVER={MySQL ODBC 3.51 Driver}; SERVER="+cDirSer+"; DATABASE="+cDatBas+"; "+;
                       "UID="+cUseBas+";PASSWORD="+cPasUse+"; OPTION=3"

      CASE cTipCon == "MSSQL"

           //cDriSql := "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=MANAGER;User Id=sa;Password=xxx"
           cDriSql := "Provider=SQLOLEDB;Data Source="+cDirSer+";Initial Catalog="+cDatBas+";User Id="+cUseBas+";Password="+cPasUse+";"

   ENDCASE

  // cDriSql := "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" + cPath // + "\"+M->cPatSis

//  cDriSql :=  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+cPath+";Extended Properties=DBASE IV"


//   cDriSql :="DRIVER={PostgreSQL Unicode};Server=localhost;Port=5433;Database=russoft_01;UID=user_xxx;PWD=xxx;"


 //   cDriSql := "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=MANAGER;User Id=sa;Password=xxx"


/*
    cDriSql := "Provider=PostgreSQL OLE DB Provider;"+;
               "Location=russoft1_zerus;"+;
               "Data Source=www.russoft.co;"+;
               "User ID=russoft1_zerus;"+;
               "PORT=5432;"+;
               "Password=901120;"


                //"PORT=5432;"  //  Extended"

*/


   if oCon == nil
      oCon                   := TOleAuto():new("ADODB.Connection")
      oCon:ConnectionString  := cDriSql
      TRY
         oCon:Open()
         lConnect := .t.
      CATCH
         oCon                  := nil
         MyMen("Error. No fue posible la conexi¢n con el servidor SQL" )
         return .F.
      END
   else
      lConnect := .t.
   endif

return lConnect


 

Re: Ayuda con Mysql

PostPosted: Wed Jul 08, 2020 2:16 pm
by jpcavagnaro
No me funciona,

#include "fivewin.ch"
#include "ado.ch"

FUNCTION MAIN()


LOCAL cPath := CURDRIVE() + ':\\' + CURDIR()+";"
LOCAL lConnect := .f.
LOCAL cDriSql := ""


cDriSql := "DRIVER={MySQL ODBC 8.0 Unicode Driver};UID=root;PASSWORD=xxxx;PORT=3306;SERVER=localhost;DATABASE=restaurate; OPTION=3"

*"DRIVER={MySQL ODBC 3.51 Driver}; SERVER="+cDirSer+"; DATABASE="+cDatBas+"; "+;
* "UID="+cUseBas+";PASSWORD="+cPasUse+"; OPTION=3"


oCon := TOleAuto():new("ADODB.Connection")
oCon:ConnectionString := cDriSql
TRY
oCon:Open()
lConnect := .t.
CATCH oError
showError( oError )
END


return lConnect

Re: Ayuda con Mysql

PostPosted: Wed Jul 08, 2020 4:30 pm
by Armando
jpcavagnaro

Necesitas tener instalado el conector, lo tienes?

Este debe ser de la misma versión que tienes definida en la cadena de conexión

Driver={MySQL ODBC 5.1 Driver} o Driver={MySQL ODBC 3.51 Driver}

Saludos

Re: Ayuda con Mysql

PostPosted: Wed Jul 08, 2020 5:11 pm
by nageswaragunupudi
You can connect to MySql through ADO or directly with FWH inbuilt MySql library.
You propose to connect and work using ADO.

For this, you need to download and install MySql ODBC connector on every PC using your software. We assume you have installed the ODBC connector.

We advise you not to make your own connection strings for any server, be it MySql, MSSql, Oracle, etc. If you prepare your own connection strings you need to know the version of ODBC driver or OLEDB provider. When we provide software to several clients they may have already installed different versions of ODBC drivers/OLEDB providers.

Instead use FWH built-in ADO functions.

Code: Select all  Expand view

oCn := FW_OpenAdoConnection( { "MYSQL", cServer, cDatabase/InitialCatalog, cUser, cPassword }, .t. )
if oCn == nil
   ? "fail"
else
   ? "connected"
   // do your work
   oCn:Close()
endif
 


You can use the same function for MSSQL, Oracle, etc by changing "MYSQL" to "MSSQL" or "ORACLE".

This function checks the version of ODBC driver/OLEDB provider installed on the target PC and uses the latest version installed.

In other words, your program will work on a PC with ODBC 5.1 installed or ODBC 8.0 installed.

All the FWH ADO functions support DBASE, FOXPRO, ACCESS, MSSQL, MYSQL, ORACLE.
They work with any other OLEDB provider if the programmer provides connection string.

Using FWH ADO functions greatly simplifies your work.
For all functions please see fwh\source\function\adofuncs.prg

For working with MySql, you may also consider using the inbuilt MySql library of FWH. For using this, you need not get the ODBC connectors installed on all your clients' PCs. You simply provide your exe with libmysql.dll (provided by FWH ).

Re: Ayuda con Mysql

PostPosted: Wed Jul 08, 2020 8:36 pm
by jpcavagnaro
Armando wrote:jpcavagnaro

Necesitas tener instalado el conector, lo tienes?

Este debe ser de la misma versión que tienes definida en la cadena de conexión

Driver={MySQL ODBC 5.1 Driver} o Driver={MySQL ODBC 3.51 Driver}

Saludos


Hola Armando, tengo instalado el MySQL ODBC 8.0, tiene que ser la versión 3 o 5 ?

Saludos
Jorge.

Re: Ayuda con Mysql

PostPosted: Wed Jul 08, 2020 9:24 pm
by Armando
jpcavagnaro

Intenta con el conector de alguna de las dos versiones 3.51 o 5.1 y
en la cadena de conexión debes especificar que versión de conector
instalaste.

Driver={MySQL ODBC 5.1 Driver} o Driver={MySQL ODBC 3.51 Driver}

Cual es tu correo?

Saludos

Re: Ayuda con Mysql

PostPosted: Wed Jul 08, 2020 9:49 pm
by jpcavagnaro
Armando wrote:jpcavagnaro

Intenta con el conector de alguna de las dos versiones 3.51 o 5.1 y
en la cadena de conexión debes especificar que versión de conector
instalaste.

Driver={MySQL ODBC 5.1 Driver} o Driver={MySQL ODBC 3.51 Driver}

Cual es tu correo?

Saludos


jpcavagnaro@yahoo.com.ar

Re: Ayuda con Mysql

PostPosted: Thu Jul 09, 2020 11:54 am
by jpcavagnaro
Ya me pude conectar, me faltaba abrir el puerto.

Saludos.
Jorge.

Re: Ayuda con Mysql

PostPosted: Thu Jul 09, 2020 7:35 pm
by jpcavagnaro
De nuevo, alguien me podria pasar un ejemplo de un abm, no logro abrir las tablas.

Algo me falta hacer seguro, porque por ej.

cSQL := "select * from clientes "

oRSSTK := CargaRecordSet( cSQL, oCon)

xbrowse( oRSSTK, "Fijate", .t.,,, .t., .t., .t. )

Esto con SQLServer me funciona perfecto.

Saludos
Jorge.

Re: Ayuda con Mysql

PostPosted: Thu Jul 09, 2020 8:29 pm
by jpcavagnaro
Cree una base por Workbench y pude abrila sin problema, la que genere como ejemplo (que baje el sql) y no se porque no abre.

Pero bueno creando mis bases funciona por ahora todo bien.

Gracias

Saludos.
Jorge.

Re: Ayuda con Mysql

PostPosted: Fri Jul 10, 2020 10:22 pm
by jpcavagnaro
Hola gente, tengo un problema, genero esta tabla:

CREATE TABLE Clientes1 (
id int(11) NOT NULL AUTO_INCREMENT,
Numero decimal( 6, 0),
Domicleg character( 100),
Zona decimal( 10, 0),
Con_iva decimal( 1, 0),
Cuit character( 13),
Nombre character( 40),
Domic character( 40),
Loca character( 40),
Tele character( 50),
Copo character( 10),
Vendedor decimal( 4, 0),
Ctacte character( 1),
Bonif decimal( 6, 2),
Tope decimal( 10, 2),
Email character( 30),
PRIMARY KEY (id)
)

y no puedo acceder, lo que descubro es que cambio los datos decimal por double y ahí si puedo abrirla.

porque puede ser este problema con los tipos de datos.

Saludos.
Jorge