Buenos dias,
Alguien tendra un ejemplo de como crear un string de conexion via ADO desde un archivo .ini ? Es decir, llenar los valores del string desde el .ini
Saludos
//----------------------------------------------------------------------------//
Function DriversEntries()
Local aDnss := {}
Local cLin := ""
Local cLin1 := ""
Local oFile
Local nPos := 0
Local lSw := .F.
Local cFile1 := "C:\WINDOWS\ODBC.INI"
Local cFile2 := "C:\WINDOWS\ODBCINST.INI"
if file( cFile2 )
oFile := TTxtFile():New( cFile2 )
oFile:nMaxLineLength := 256
Do while !oFile:Eof()
cLin1 := ""
nPos := 0
cLin := oFile:ReadLine()
if !empty( cLin )
if !lSw
if !empty( At( Upper( "[ODBC 32 bit Drivers]" ), Upper( cLin ) ) )
lSw := .T.
endif
else
if empty( At( "[", cLin ) )
nPos := At( Upper( "instal" ), Upper( cLin ) )
if !empty( nPos )
cLin1 := Left( cLin, nPos - 2 )
nPos := 0
nPos := RAt( "bit", cLin1 )
if !empty( nPos )
cLin1 := Left( cLin1, nPos - 5 )
AAdd( aDnss, Upper( cLin1 ) )
endif
endif
else
lSw := .F.
endif
endif
endif
oFile:Skipper()
Enddo
oFile:End()
oFile := Nil
else
MsgInfo("Fichero no encontrado", cFile2 )
endif
if file( cFile1 )
oFile := TTxtFile():New( cFile1 )
oFile:nMaxLineLength := 256
Do while !oFile:Eof()
cLin1 := ""
nPos := 0
cLin := oFile:ReadLine()
cLin := RTrim( cLin )
cLin := LTrim( cLin )
if !empty( cLin )
if !lSw
if !empty( At( Upper( "[ODBC 32 bit Data Sources]" ), Upper(cLin)))
lSw := .T.
endif
else
if empty( At( "[", cLin ) )
nPos := At( Upper( "=" ), Upper( cLin ) )
if !empty( nPos )
cLin1 := Right( cLin, ( Len( cLin ) - nPos ) )
nPos := 0
nPos := RAt( "bit", cLin1 )
if !empty( nPos )
cLin1 := Left( cLin1, nPos - 5 )
if empty( Ascan( aDnss, Upper( cLin1 ) ) )
AAdd( aDnss, Upper( cLin1 ) )
endif
endif
endif
else
lSw := .F.
endif
endif
endif
oFile:Skipper()
Enddo
oFile:End()
oFile := Nil
else
MsgInfo("Fichero no encontrado", cFile1 )
endif
Return aDnss
//----------------------------------------------------------------------------//
LeeIni() // Lee parametros
IF ! Conecta()
QUIT
ENDIF
STATIC FUNCTION LeeIni()
LOCAL oIni
INI oIni FILE ".\SapWin.Ini"
GET oApp:cDsn SECTION "MYSQL" ENTRY "Dsn" OF oIni DEFAULT "SapWin"
GET oApp:cDescription SECTION "MYSQL" ENTRY "Description" OF oIni DEFAULT "Sistema para Administración de Proyectos"
GET oApp:cServer SECTION "MYSQL" ENTRY "Server" OF oIni DEFAULT "localhost"
GET oApp:cDataBase SECTION "MYSQL" ENTRY "DataBase" OF oIni DEFAULT ""
GET oApp:cUser SECTION "MYSQL" ENTRY "User" OF oIni DEFAULT "root"
GET oApp:cPassWord SECTION "MYSQL" ENTRY "PassWord" OF oIni DEFAULT "91502127"
GET oApp:cPort SECTION "MYSQL" ENTRY "Port" OF oIni DEFAULT "3306"
GET oApp:cDriveName SECTION "MYSQL" ENTRY "DriveName" OF oIni DEFAULT "Driver={MySQL ODBC 3.51 Driver}"
GET oApp:cStmt SECTION "MYSQL" ENTRY "Statement" OF oIni DEFAULT ""
ENDINI
RETURN(NIL)
Compuin wrote:Gracias a todos
Compuin wrote:Basicamente colocar los parametros de conexion en el .ini y llenar el string desde el mismo.
Eso es lo que necesito
Compuin wrote:Ok
algun ejemplo como capturarlo y llevarlo al string de conextion??
MsgRun( "Espere, generando conexión al servidor...", ;
"Información MySql",{|| Conectar()} )
IF lExit
*?"No hubo conexión con el servidor"
Return Nil
ENDIF
CrearTablas()
//----------------------------------------------------------------------------------------
FUNCTION conectar() // CONECTANDO CON EL SERVIDOR
*LOCAL hIni := HB_ReadIni( ".\conexion.ini" ) // PARA LEER ARCHIVOS .ini
LOCAL hIni := HB_ReadIni( ".\connect.ini" )
LOCAL cServer := hIni["mysql"]["host"] ,; // NOMBRE DEL HOST (localhost)
cUser := hIni["mysql"]["user"] ,; // NOMBRE DEL USUARIO (root)
cPassword := hIni["mysql"]["psw"] ,; // CLAVE DEL USUARIO (vacio por ahora)
nPort := val(hIni["mysql"]["port"]) ,; // PUERTO DE CONEXION (3306)
cDBName := hIni["mysql"]["dbname"] ,; // NOMBRE DE LA BASE DE DATOS (sisprocom)
nFlags := val(hIni["mysql"]["flags"]) // NUMERO DE FLAG (0)
TRY
oServer = TDolphinSrv():New( cServer, cUser, cPassword, nPort, nFlags )
*oServer = TDolphinSrv():New( cServer, cUser, cPassword, nPort, nFlags, cDBName )
CATCH oError
MSGALERT( "ERROR FATAL: No hubo Conexión con el SERVIDOR" + CRLF + CRLF + ;
oError:Description(), " SISINGE - MYSQL" )
lExit := .T.
Return Nil
END
// VERIFICO SI EXISTE DATABASE, SINO, LA CREO
IF oServer:DBCreate( cDBName )
* MsgInfo( "Conectado Correctamente a DataBase: " + cDBName, " SISINGE - ATENCIÓN" )
ENDIF
oServer:SelectDB( cDBName )
// MENSAJE CUANDO CONEXION ES CORRECTA...//la window lo oculta
* IF !oServer:lError // SI NO HAY ERROR...
* oDatos:oConex = oServer // ASIGNO oSERVER A oCONEX PARA MANEJARLO EN TODO EL SISTEMA
* ENDIF
RETURN Nil
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 75 guests