FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Interesante web para conexiones a Bases de Datos
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Interesante web para conexiones a Bases de Datos
Posted: Mon Dec 15, 2014 05:43 PM
Buscando una forma de abrir bases de datos en Access protegidas con contrase帽a he dado con esta web https://www.connectionstrings.com/ . Aqu铆 os la dejo porque me parece muy interesante la cantidad de informaci贸n que contiene.

Por cierto, dejo tambi茅n la funci贸n que uso para abrir BBDD Access, y las funciones extra铆das de FW de apoyo.

Code (fw): Select all Collapse
Function AbreConexionAccess (cBase, cTabla, lError, cPassword)
/* =======================================================================
聽 聽cBase - Base de datos de trabajo
聽 聽cTabla - Tabla a abrir
聽 聽lError - Pasado por referencia
聽 聽cPassword - Password si es necesario
聽 聽=======================================================================
*/
Local cConnection:="", oCon, oRs

聽 聽 Default cPassword:=""

聽 cConnection = "Provider='Microsoft.Jet.OLEDB.4.0'; Data Source='" + cBase + "';"
聽 If Long(cPassword)<>0
聽 聽 cConnection+="Jet OLEDB:Database Password="+Alltrim(cPassword)+";"
聽 Endif
聽 TRY
聽 聽 oCon = FW_OPenAdoConnection( cConnection )
聽 聽 oCon:CursorLocation = 3 // adUseClient
聽 CATCH oError
聽 聽 lError:=.T.
聽 聽 MsgAlert ("Imposible abrir la base de datos : "+cBase+CRLF+"Descripci贸n del problema : "+ oError:Description)
聽 END
聽 聽 聽
聽 oRs = TOleAuto():New( "ADODB.Recordset" )
聽 oRs:CursorType 聽 聽 = 1 聽 聽 聽 聽// opendkeyset
聽 oRs:CursorLocation = 3 聽 聽 聽 聽// local cache
聽 oRs:LockType 聽 聽 聽 = 3 聽 聽 聽 聽// lockoptimistic

聽 cTabla = FW_QuotedColSQL( cTabla )
聽 TRY
聽 聽 oRs:Open( "SELECT * FROM " + cTablA, oCon ) 
聽 CATCH oError
聽 聽 lError:=.T.
聽 聽 MsgAlert ("Imposible abrir la tabla : "+cTabla+CRLF+"Descripci贸n del problema : "+ oError:Description )
聽 END
Return (oRs) 聽

Function TipoCampoAccess (oField)
/* Devuelve el tipo de campo de una tabla access */
Local nType:=0, cType:="", nLen:=0
聽 聽
聽 聽 nType 聽 聽 聽 聽 聽 聽:= oField:Type

聽 聽DO CASE
聽 聽CASE ASCAN( { 2, 3, 16, 17, 18, 19, 20, 21 }, nType ) > 0
聽 聽 聽 cType 聽 聽 聽 聽 := 'N'
聽 聽 聽 nLen 聽 聽 聽 聽 聽:= oField:Precision
聽 聽 聽 nDec 聽 聽 聽 聽 := 0
聽 聽CASE ASCAN( { 14, 131, 139 }, nType ) > 0
聽 聽 聽 cType 聽 聽 聽 聽 := 'N'
聽 聽 聽 nLen 聽 聽 聽 聽 聽:= oField:Precision
聽 聽 聽 nDec 聽 聽 聽 聽 聽:= oField:NumericScale
聽 聽CASE ASCAN( { 4, 5, 6 }, nType ) > 0 聽// Single, Double, Currency
聽 聽 聽 cType 聽 聽 聽 聽 := 'N'
聽 聽 聽 nLen 聽 聽 聽 聽 聽:= oField:Precision
聽 聽 聽 nDec 聽 聽 聽 聽 聽:= 2

聽 聽CASE ASCAN( { 7, 133, 135 }, nType ) > 0
聽 聽 聽 cType 聽 聽 聽 聽 := 'D'
聽 聽CASE nType == 11
聽 聽 聽 cType 聽 聽 聽 聽 := 'L'
聽 聽CASE ASCAN( { 8,128,129,130,200,201,202,203,204,205 }, nType ) > 0
聽 聽 聽 cType 聽 聽 聽 聽 := 'C'
聽 聽 聽 nLen 聽 聽 聽 聽 聽:= oField:DefinedSize
聽 聽 聽 if nLen == 0 .or. nLen > 100
聽 聽 聽 聽 聽cType 聽 聽 聽:= 'M'
聽 聽 聽 聽 聽nLen 聽 聽 聽 := 40
聽 聽 聽 else
聽 聽 聽 聽 聽nLen 聽 聽 聽 := Min( 100, nLen )
聽 聽 聽 endif
聽 聽ENDCASE
聽 聽
Return (cType)
聽 
Function FW_QuotedColSQL( cCol )
/* Devuelve cadena con los s铆mbolos correctos para abrir tabla acces */
聽 聽cCol 聽 聽 := AllTrim( cCol )
聽 聽do while ', ' $ cCol
聽 聽 聽 cCol 聽:= StrTran( cCol, ', ', ',' )
聽 聽enddo

聽 聽return '[' + StrTran( cCol, ",", "],[" ) + "]"

return cCol
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: Interesante web para conexiones a Bases de Datos
Posted: Mon Dec 15, 2014 08:59 PM

Angel,

Muchas gracias por la informaci贸n

Un saludo

Fernando Gonz谩lez Diez

ALSIS Sistemas Inform谩ticos
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Interesante web para conexiones a Bases de Datos
Posted: Tue Dec 16, 2014 09:51 AM

gracias Angel! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion