Yo lo hago ligeramente distinto, espero te sirva:
        function conectSQL() as Boolean         local lo_Error as exception     
                        try                     this.Conexion = 
newobject('ADODB.Connection')                   if this.ReadXML()               
                with this.Conexion                                      
.Provider = this._Provider                                      
.Properties("Data Source").value = this._Database                               
        .Properties("Initial Catalog").value = this._InitialCatalog             
                        .Properties("User ID").value = this._User               
                        .Properties("Password").value = this._Password          
                        .open                           endwith                 
endif                   this.pb_Ok = .t.                catch to lo_Error       
                this.pb_Ok = .f.                endtry          return 
this.pb_Ok       endfunc
los datos de conexión están en un XML pero harcodea los tuyos y fijate que el 
objeto Conexion les seteo las propiedades, no las cargo desde un string 
conection... adaptalo a tu plataforma y probalo en forma aislada... no se si 
hay diferencia con lo otro
Date: Thu, 3 Jan 2013 13:11:15 -0300
Subject: [puntonet] Conneccion a SQL desde DLL
From: [email protected]
To: [email protected]

mira cuando hago las pruebas de mi equipo no hay problemas me conecto sin 
problemas a la BD, pero cuando llevo la dll a QA, que es la misma maquina donde 
esta el SQL server no me logro conectar.


El 3 de enero de 2013 13:08, Adrian Cura <[email protected]> escribió:

te sugiero pruebes el string de coneccion con un archivo udl, para constatar 
que no provenga de ahí el error.¿El servidor sql esta remoto o en la pc local?
saludos 
Adrián.




2013/1/3 Andres Guzman <[email protected]>


Hola gracias por la ayuda mira estos son los métodos con los que estoy 
probando...

public string GetConnectionString()
        {
            string conString = @"Data Source=xxx;Initial Catalog=bdTEst;User 
Id=user;Password=xxx";

            
            SqlConnectionStringBuilder conn = new 
SqlConnectionStringBuilder(conString);




            conn.PersistSecurityInfo = true;
            return conn.ConnectionString;
        }

public string PruebaBD()
        {
            DataTable dt = new DataTable();
            try




            {
                using (SqlConnection sqlConn = new 
SqlConnection(GetConnectionString()))
                {
                    sqlConn.Open();
                    SqlCommand com = new 
SqlCommand("sp_s_Euro_CargaMasivaSinContinuidad", sqlConn);




                    com.CommandType = System.Data.CommandType.StoredProcedure;
                    com.Parameters.Add("PngId", System.Data.SqlDbType.Int);




                    com.Parameters["PngId"].Value = 1;
                    com.Parameters.Add("idcMas", System.Data.SqlDbType.VarChar, 
30);
                    com.Parameters["idcMas"].Value = "2013010214400056520";




                    using (IDataReader dr = com.ExecuteReader())
                    {
                        dt.Load(dr);
                    }
                    sqlConn.Close();
                }





                return "SIN ERRORES";
            }
            catch (Exception ex) { return ex.ToString(); }
        }
el error que me arroja (resumido):




System.Data.SqlClient.SqlException: No se puede abrir la base de datos 
"NOMBREBD" solicitada por el inicio de sesión. Error de inicio de sesión. Error 
de inicio de sesión del usuario 'MAQUINA\IUSR_MAQUINA'



System.Data.SqlClient.SqlClientPermission, System.Data


El 3 de enero de 2013 12:51, Héctor Daniel Correa 
<[email protected]> escribió:





ASP clásico... y funciona.


-- 
Saluda ATTE.
Andrés Guzmán Oyaneder.
09-9319111
[email protected]




-- 
Adrián Jorge Cura
ApareSer Consultora Informática 
Te: 15 6181 7298

[email protected]

www.apareser.com.ar



-- 
Saluda ATTE.
Andrés Guzmán Oyaneder.
09-9319111
[email protected]
                                          

Responder a