Interesante web para conexiones a Bases de Datos

Post Reply
User avatar
AngelSalom
Posts: 664
Joined: Fri Oct 07, 2005 7:38 am
Location: Vinaros (Castellón ) - España
Contact:

Interesante web para conexiones a Bases de Datos

Post by AngelSalom »

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: Select all

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
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: Interesante web para conexiones a Bases de Datos

Post by fgondi »

Angel,

Muchas gracias por la información
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Interesante web para conexiones a Bases de Datos

Post by Antonio Linares »

gracias Angel! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply