41 [ExcludeFromCodeCoverage]
42 internal class ConexionSQL
47 public string _cIp {
get;
set; }
52 public string _cUser {
get;
set; }
57 public string _cPassword {
get;
set; }
62 public string _cComunes {
get;
set; }
67 public bool _lAuthWin {
get;
set; }
72 public string _cAlias {
get;
set; }
77 public bool _lExternal_Entry {
get;
set; }
87 public string _MensajeError {
get;
private set; }
95 _cUser =
string.Empty;
96 _cPassword =
string.Empty;
97 _cComunes =
string.Empty;
99 _cAlias =
string.Empty;
100 _lExternal_Entry =
false;
102 _MensajeError =
string.Empty;
105 internal string BuildConnectionString()
107 SqlConnectionStringBuilder builder =
new SqlConnectionStringBuilder();
109 builder.DataSource = _cIp;
110 builder.InitialCatalog = _cComunes;
111 builder.PersistSecurityInfo =
true;
112 builder.ConnectTimeout = 1800;
117 builder.IntegratedSecurity =
true;
122 builder.UserID = _cUser;
123 builder.Password = _cPassword;
126 return builder.ConnectionString;
133 public bool ConectarSQL()
139 _MensajeError =
string.Empty;
143 lbOk = DB.SQLConnect(_cIp, _cUser, _cPassword, _cComunes, tcAliasConexion: _cAlias, tbAuthWin: _lAuthWin, tnConnectionTimout: 20);
148 AnalizarError(DB.Error_Message_Exception);
164 private void AnalizarError(Exception ex)
169 _MensajeError = DB.Error_Message ??
"Error desconocido al conectar con SQL Server";
174 if (ex is SqlException sqlEx)
176 ClasificarErrorSQL(sqlEx);
182 _MensajeError = ex.Message;
190 private void ClasificarErrorSQL(SqlException sqlEx)
192 switch (sqlEx.Number)
201 _MensajeError =
"Error de autenticación: Usuario o contraseña incorrectos.";
215 _MensajeError =
"Error de conexión: No se puede conectar al servidor SQL. El servidor podría estar apagado o no disponible.";
221 _MensajeError = $
"Error SQL ({sqlEx.Number}): {sqlEx.Message}";
230 public bool EsErrorAutenticacion()
239 public bool EsErrorConexion()