Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/03/2005, 07:47
fbnds
 
Fecha de Ingreso: junio-2004
Ubicación: Salta, Argentina
Mensajes: 27
Antigüedad: 20 años, 6 meses
Puntos: 0
lo hago a través de un archivo .ini
donde tengo el nombre del servidor,login, passwd, el nombre de la base de datos y el nombre del odbc que utilizo.
cuando inicio el programa voy a leer ese archivo
y luego me conecto de esta manera:
Código:
Public Function AbrirConexion(ByRef NomConexion As Object, NombredelODBC As String, NomBD As String, NUsuario As String, NClave As String, Optional NHost As String)
    Dim connectOut As String * 256
    Dim connectOutLen As Integer
    Dim rc As Long
    Dim Origen As String
    Dim Aux_hEnv As Long, Aux_hDbc As Long, Aux_hStmt As Long, Aux_Stmt2 As Long
       
On Error GoTo Terminar
    Prop_HuboError = False
    NomBD = Trim(NomBD)
    NomdelODBC = Trim(NomdelODBC)
    If NomDSN <> Empty Then
        'CONECTAMOS
         Origen = "DSN=" & NombredelODBC & ";DATABASE=" & NomBD & ";UID=" & NUsuario & ";PWD=" & NClave & ";HostName=" & NHost & ";"

        'MsgBox "ApiOdbc:" & Origen
        
        connectOutLen = 0
        connectOut = String(256, 0)
    
        rc = SQLAllocEnv(Aux_hEnv)
        NomConexion.hEnv = Aux_hEnv
        If Not (rc = SQL_SUCCESS Or rc = SQL_SUCCESS_WITH_INFO) Then
            DescribeError NomConexion, rc
            AbrirConexion = False
            Exit Function
        End If

        rc = SQLAllocConnect(ByVal Aux_hEnv, Aux_hDbc)
        NomConexion.hdbc = Aux_hDbc
        If Not (rc = SQL_SUCCESS Or rc = SQL_SUCCESS_WITH_INFO) Then
            DescribeError NomConexion, rc
            AbrirConexion = False
            Exit Function
        End If
        
        rc = SQLDriverConnect(Aux_hDbc, 0, Origen, Len(Origen), connectOut, 255, connectOutLen, SQL_DRIVER_COMPLETE)
        NomConexion.hdbc = Aux_hDbc
        If Not (rc = SQL_SUCCESS Or rc = SQL_SUCCESS_WITH_INFO) Then
            DescribeError NomConexion, rc
            AbrirConexion = False
            Exit Function
        End If
        
        rc = SQLAllocStmt(ByVal Aux_hDbc, Aux_hStmt)
        NomConexion.hstmt = Aux_hStmt
        If Not (rc = SQL_SUCCESS Or rc = SQL_SUCCESS_WITH_INFO) Then
            DescribeError NomConexion, rc
            AbrirConexion = False
            Exit Function
        End If
        AbrirConexion = True
    End If
    Exit Function
    
Terminar:
    AbrirConexion = False
    Prop_HuboError = True
        
End Function
luego llamo a esta función:
abrirconexion (Parametros, "NombredelODBC ","NombreBase", NomUsu, clave, NomMaq)