Foros del Web » Programación para mayores de 30 ;) » .NET »

problema para conectar a BD de diferentes servidores ASP.NET

Estas en el tema de problema para conectar a BD de diferentes servidores ASP.NET en el foro de .NET en Foros del Web. Saludos, tengo un problema para conectar un sistema que me encuentro modificando en el trabajo, el sistema esta hecho en asp.net con base de datos ...
  #1 (permalink)  
Antiguo 16/02/2011, 07:32
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta problema para conectar a BD de diferentes servidores ASP.NET

Saludos, tengo un problema para conectar un sistema que me encuentro modificando en el trabajo, el sistema esta hecho en asp.net con base de datos en SQL server, inicialmente estaba conectado a la base de datos desde un servidor web, pero por cuanto ahora se van a manejar base de datos para el mismo sistema que se encuentran en tres servidores distintos, la idea es que se pueda seleccionar desde un menu la base de datos a la cual conectar y posteriormente proceda a solicitar el login y password para validar en la base de datos seleccionada, por supuesto las bases de datos estan estructuradas de la misma forma pero difiere en la data que maneja, lo que hice es que a traves de un webform coloque un dropdownlist con un value cada igual al servidor donde esta conectada la base de datos, ademas de un archivo.config que permita configurar la ruta del servidor y me la sustituya en el web.config, pero no logro que haga el cambio en la ruta de conexion puesto que siempre toma la que por defecto esta configurada, y no llego a lograr que la sob reescriba, no soy muy experto en asp.net y agradeceria cualquier ayuda, coloco los codigos que tengo.

archivo que contiene el menu de conexion a los servidores:

default.aspx.

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" MasterPageFile="~/MasterPage.master" title="GISA 3.0 - Gestión Integrada de Servicios Administrativos"%>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ACT" %>
<asp:Content ID="CPH" runat="server" ContentPlaceHolderID="CPH">
<asp:ScriptManager ID="ScriptManager" runat="server"/>
<div style="text-align: center">
<table border="0" cellpadding="3" style="width: 40%">
<tr>
<td style="width: 50%; text-align: left;" class="textonegrita">
Base de Datos:</td>

<td>
<asp:DropDownList ID="BaseDato" runat="server" CssClass="texto" Width="120px" MaxLength="8"><asp:ListItem Value="Data Source=TACSCIDEMBD08;Initial Catalog=9ZULIA;Persist Security Info=True;User ID=USUARIO8ZULIA;Password=USUARIO8ZULIA">SAN
CRISTOBAL</asp:ListItem><asp:ListItem Value="Data Source=TACSVZCJPBD08;Initial Catalog=9ZULIA;Persist Security Info=True;User ID=USUARIO8ZULIA;Password=USUARIO8ZULIA">SAN
ANTONIO</asp:ListItem><asp:ListItem Value="Data Source=TACSCICJLBD08;Initial Catalog=9ZULIA;Persist Security Info=True;User ID=USUARIO8ZULIA;Password=USUARIO8ZULIA">C.C
EUROPA</asp:ListItem> </asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="2">
<asp:ImageButton ID="imgbtnAceptaBaseDato" runat="server" Height="12px" ImageUrl="~/Theme/Images/b_aceptar.gif"
Width="48px" />
</td>
</tr>
</table>
</div>
</asp:Content>

Archivo donde se encuentra el codigo que sobreescribe la ruta de conexion:
default.aspx.vb

Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub imgbtnAceptaBaseDato_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgbtnAceptaBaseDato.Click
Dim con As System.Configuration.Configuration
con = Web.Configuration.WebConfigurationManager.OpenWebC onfiguration("~/victor.config")
con.ConnectionStrings.ConnectionStrings("Connectio nString8ZULIA").ConnectionString = BaseDato.SelectedItem.Value()
con.SaveAs("victor.config")
Response.Redirect("login.aspx")
End Sub
End Class

codigo que contiene el archivo victor.config

<?xml version="1.0"?>
<connectionStrings>
<add name="ConnectionStringDARZULIA" connectionString="Data Source=TACSCIDEMBD01;Initial Catalog=DARZULIA;Persist Security Info=True;User ID=USUARIODARZULIA;Password=USUARIODARZULIA" providerName="System.Data.SqlClient"/>
</connectionStrings>


linea de codigo dentro del web.config

<connectionStrings configSource="victor.config"/>


codigo de login del sistema:

<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Login.aspx.vb" Inherits="_Default" title="GISA 3.0 - Gestión Integrada de Servicios Administrativos" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ACT" %>
<asp:Content ID="CPH" runat="server" ContentPlaceHolderID="CPH">
<asp:ScriptManager ID="ScriptManager" runat="server"/>
<div style="text-align: center">
<table border="0" cellpadding="3" style="width: 40%">
<tr>
<td style="width: 50%; text-align: left;" class="textonegrita">
Nombre de Usuario:</td>
<td style="width: 50%; text-align: left;" align="right">
<asp:TextBox ID="txtNombreUsuario" runat="server" CssClass="texto" Width="120px" MaxLength="8"></asp:TextBox></td>
</tr>
<tr>
<td style="width: 50%; text-align: left;" class="textonegrita">
Contraseña:</td>
<td style="text-align: left;" align="right">
<asp:TextBox ID="txtContrasena" runat="server" CssClass="texto" Width="120px" MaxLength="15" TextMode="Password"></asp:TextBox></td>
</tr>
<tr>
<td class="textonegrita" style="width: 50%; text-align: left">
</td>
<td align="right" style="text-align: left">
<asp:ImageButton ID="imgbtnIniciarSesion" runat="server" Height="12px" ImageUrl="~/Theme/Images/b_aceptar.gif"
Width="48px" /></td>
</tr>
<tr>
<td class="textonegrita" colspan="2" style="text-align: center" align="center">
<br />
<asp:Image ID="imgError" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/Images/Error.gif"
Visible="False" />
<asp:Label ID="lblMensaje" runat="server" CssClass="texto"></asp:Label></td>
</tr>
<tr>
<td align="center" class="textonegrita" colspan="2" style="text-align: center">
<br />
<asp:LinkButton ID="lnkInvitado" runat="server" CssClass="texto" OnClick="lnkInvitado_Click" CausesValidation="False">¿No
posee usuario? Haga click aqui.</asp:LinkButton></td>
</tr>
</table>
<asp:RequiredFieldValidator ID="rfvtxtNombreUsuario" runat="server" ControlToValidate="txtNombreUsuario"
Display="None" ErrorMessage="Ingrese su nombre de usuario"></asp:RequiredFieldValidator><asp:RequiredFieldValid ator ID="tfvtxtContrasena" runat="server" ControlToValidate="txtContrasena"
Display="None" ErrorMessage="Ingrese su contraseña"></asp:RequiredFieldValidator><asp:ValidationSummary ID="vsSumario" runat="server" ShowMessageBox="True" ShowSummary="False" />
<ACT:FilteredTextBoxExtender ID="ftetxtNombreUsuario" runat="server" TargetControlID="txtNombreUsuario" FilterType="UppercaseLetters,Custom" ValidChars="Ñ"/>
</div>
</asp:Content>


Parte del codigo del login.aspx.vb

Imports System.Data.SqlClient

Partial Class _Default
Inherits System.Web.UI.Page

Private NEW_SQLCONN As New SqlConnection(Web.Configuration.WebConfigurationMa nager.OpenWebConfiguration("~/victor.config").ConnectionStrings.ConnectionString s("ConnectionStringDARZULIA").ConnectionString)
Private NEW_SQLCONN_AUX As New SqlConnection(Web.Configuration.WebConfigurationMa nager.OpenWebConfiguration("~/victor.config").ConnectionStrings.ConnectionString s("ConnectionStringDARZULIA").ConnectionString)

Protected Sub imgbtnIniciarSesion_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgbtnIniciarSesion.Click
If NEW_SQLCONN.State = Data.ConnectionState.Closed Then NEW_SQLCONN.Open()
Dim BUSQ_USUARIO_CMD As New SqlCommand("SELECT ID_USUARIO,ID_EMPLEADO,LOGIN,CONVERT(VARCHAR(4000) , DECRYPTBYPASSPHRASE('$$DARZULIA$$',CONTRASENA)) AS CONTRASENA,CAMBIAR_CONTRASENA,ACTIVO " _
& "FROM SC_SEGURIDAD.T_USUARIOS " _
& "WHERE LOGIN = '" & txtNombreUsuario.Text & "'", NEW_SQLCONN)
Dim BUSQ_USUARIO_DR As SqlDataReader = BUSQ_USUARIO_CMD.ExecuteReader
BUSQ_USUARIO_DR.Read()
If BUSQ_USUARIO_DR.HasRows = True Then
If String.Compare(txtContrasena.Text, BUSQ_USUARIO_DR.Item("CONTRASENA")) = 0 Then
If CBool(BUSQ_USUARIO_DR.Item("ACTIVO")) = False Then
BUSQ_USUARIO_DR.Close() : BUSQ_USUARIO_CMD.Dispose() : NEW_SQLCONN.Close()
imgError.Visible = True
lblMensaje.Text = "Su cuenta usuario se encuentra desactivada. Por favor pongase en contacto con el administrador de la aplicación"
txtNombreUsuario.Text = "" : txtContrasena.Text = ""
Exit Sub
End If


Ya modifique el restartOnExternalChanges en el machine.config pero nada.

Etiquetas: bd, diferentes, servidores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:17.