Interesante web para conexiones a Bases de Datos

Interesante web para conexiones a Bases de Datos

Postby AngelSalom » Mon Dec 15, 2014 5: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: Select all  Expand view
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
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Interesante web para conexiones a Bases de Datos

Postby fgondi » Mon Dec 15, 2014 8:59 pm

Angel,

Muchas gracias por la información
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España

Re: Interesante web para conexiones a Bases de Datos

Postby Antonio Linares » Tue Dec 16, 2014 9:51 am

gracias Angel! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41439
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 31 guests