Page 1 of 1

Cómo saber si una DATABASE existe? (SOLUCIONADO)

PostPosted: Sat Jun 17, 2023 5:23 am
by Armando
Amigos del foro:

Desde código FW, cómo saber si una base de datos (no tabla) existe?, y sin usar
el comando CREATE IF NOT EXISTS BaseDeDatos pues no quiero crearla, solo
necesito saber si existe o no.

Saludos

Re: Cómo saber si una DATABSE existe?

PostPosted: Sat Jun 17, 2023 11:31 am
by cmsoft
Armando:
Con TDolphin hay un metodo que te permite saberlo
oCn:DBExist("midatabase")
En la clase nativa de Fivewin no se si existe el método homónimo
Pero puedes sino hacerlo desde el esquema
Code: Select all  Expand view

ocn:Query('SELECT schema_name FROM information_schema.schemata WHERE schema_name = "midatabase"'):RecCount() > 0 // Existe
 

Espero te sirva

Re: Cómo saber si una DATABSE existe?

PostPosted: Sat Jun 17, 2023 12:07 pm
by JoseAlvarez
Hola Armando,

Yo lo Hago Asi:

Primero que nada me aseguro de tener una base de datos de CONTROL que SÍ exista para poder conectar al servidor, esa base de datos debe estar en el mismo schema de la que voy a validar, ya que no se como conectar al servidor con TDolphin sin indicar un nombre de base de datos válido.

Luego hago esto:

Code: Select all  Expand view
    cDataBaseName:="nombreBaseDeDatos"

    cQuery:="SHOW DATABASES LIKE '"+cDataBaseName+"';"

    TRY
       oFacturas:=_oSqlConex:Query( cQuery )
    CATCH
       Fnct_MsgErrorBD("NoMySql"  , .f. , "No hay conexión al Servidor de Datos" , "Sin Acceso a La Red","Error en servicio de Datos",)
       _Close()
       return .f.
    END TRY

    if oFacturas:RecCount>0
        msginfo('Si Existe')
    else
        Msginfo('No existe')
    endif
 


PD: César amigo, como conectas al servidor sin abrir una base de datos? si nos indicas por aca estaria agradecido, ya que asi me evito la creacion de la base de datos de control. La unica forma que se de conectar con TDolphin es asi, indicando una base de datos:

Code: Select all  Expand view
_oSqlConex:=tDolphinSrv():New( _cHost, _cUser, _cPasswordUser, val(_cPuertoMysql),, _cDataBase,  { | oConex, nError |  SQL_ConnetError( oConex, nError ) })


Gracias !!

Re: Cómo saber si una DATABSE existe?

PostPosted: Sat Jun 17, 2023 2:27 pm
by Armando
César y José, José y César

Muchas gracias, voy a probar y aviso.

Saludos

Re: Cómo saber si una DATABASE existe?

PostPosted: Tue Jun 20, 2023 7:57 pm
by nageswaragunupudi
oCn:DBExist("midatabase")
In the Fivewin native class I don't know if the homonymous method exists

In Fivewin Native class we have
Code: Select all  Expand view
? oCn:DbExists( cDbName )


If using ADO
Code: Select all  Expand view
aDb := FW_AdoCatalogs( oCn )
? AScan( aDb, { |c| Lower( c ) == cDatabase } )

This works for all RDBMS including MySql

Re: Cómo saber si una DATABASE existe?

PostPosted: Wed Jun 21, 2023 1:59 am
by Armando
Mr. Rao:

Thank you so much.

Regards