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

.Net - BD - Web.Config - 1and1

Estas en el tema de .Net - BD - Web.Config - 1and1 en el foro de .NET en Foros del Web. Hola, He hecho una pagina web en aspx, y despues de mucho luchar he conseguido en principio que la BD funcione en el servidor 1and1 ...
  #1 (permalink)  
Antiguo 26/12/2012, 06:02
 
Fecha de Ingreso: diciembre-2012
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
.Net - BD - Web.Config - 1and1

Hola,

He hecho una pagina web en aspx, y despues de mucho luchar he conseguido en principio que la BD funcione en el servidor 1and1 (no da error).
Os explico el problema:
Mi web basicamente lo unico que hace es registrar un usuario, que haga login, y que escriba articulos. El problema es que me es imposible que me reconozca ningun login, quiero decir, antes de subir la BD al servidor le deje unos usuarios metidos y no me los reconoce. Vale, pruebo a crear otros, y no me hace ni p... caso tampoco.
Mi logica me lleva a pensar que la BD esta mal conectada. Hago una prueba y le pongo en el webconfig la contraseña mal, y me da error, la pongo bien, y me la acepta. Pero no me deja hacer login, ni nada, pero tampoco me da ningun error...!! Me estoy volviendo loco, porque al no saber por donde van los tiros, tampoco puedo buscar solucion en el tio google...!
La cadena de conexion del webconfig en teoria esta bien, porque si la pongo mal aproposito si que me da error.

Ayuda please!!
  #2 (permalink)  
Antiguo 26/12/2012, 14:36
Avatar de jhonjairo00  
Fecha de Ingreso: noviembre-2010
Ubicación: Bogotá D.C.
Mensajes: 31
Antigüedad: 13 años, 5 meses
Puntos: 6
Respuesta: .Net - BD - Web.Config - 1and1

Hola,

Buscando un poco sobre 1and1 vi que es un webhosting service y habría que ver si ellos tienen alguna documentación acerca de la forma de conexión a la BD (ya que como es un servidor al cual no tienes acceso completo, puede ser que tengan alguna política de seguridad), aunque yo supongo que debe ser normalmente...

De acuerdo a lo anterior te hago una pregunta, ¿Has probado tu aplicación localmente?

Otra cosa, puedes por favor poner el código para ver como estás haciendo la conexión, tal ves así podamos ver algo de lo que no te hayas dado cuenta

Saludos,
  #3 (permalink)  
Antiguo 27/12/2012, 02:29
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: .Net - BD - Web.Config - 1and1

Que clase utilizas para establecer la connexión? Que BBDD es? MySQL, SQL Serverl,...?
__________________
Aviso: No se resuelven dudas por MP!
  #4 (permalink)  
Antiguo 27/12/2012, 10:28
 
Fecha de Ingreso: diciembre-2012
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: .Net - BD - Web.Config - 1and1

Gracias por responder!!

En local me funciona perfectamente.
Utilizo el sql server express que viene con el visual studio.
La conexion la hago mediante el asistente de los gridviews, formview, etc...que lo que hace es crearla en el web.config y de ahi la reutiliza para todas las conexiones.

En local utilizo esta:
<add name="ASPNETDBConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\ASPNETDB.MDF;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>

Y en el servidor de 1and1 utilizo esta:
<add name="ASPNETDBConnectionString" connectionString="server=dbxxxx.db.1and1.com; initial catalog=dbxxxx; uid=dboxxxx; Pwd=xxxx"/>

La he obtenido en una especie de consola de bd que tiene 1and1 y que dice que la cadena de conexion es esa.

La unica ayuda que he encontrado en el FAQ de 1and1 es lo del siguiente link, y la verdad es que no se como puedo utilizar eso si yo me conecto desde la cadena del web.config.

http://faq.1and1.es/programacion/aspnet/5.html

Por si sirve de algo este dato, para las paginas web utilizo una masterpage comun a todas.
Y repito, en local me funciona perfectamente.

Gracias por el interes y las respuestas.
  #5 (permalink)  
Antiguo 27/12/2012, 16:06
Avatar de jhonjairo00  
Fecha de Ingreso: noviembre-2010
Ubicación: Bogotá D.C.
Mensajes: 31
Antigüedad: 13 años, 5 meses
Puntos: 6
Respuesta: .Net - BD - Web.Config - 1and1

Hola

si te fijas, en la ayuda de 1and1 te dicen cómo debe ser la cadena de conexión, en la cual debes cambiar los datos que te especifican

"server=mssqlxxx.1and1.es; initial catalog=dbxxxxxxxxx;uid=dboxxxxxxxxx;pwd=xxxxxxxx"

server: es el nombre del alojamiento
initial catalog: nombre de la base de datos
uid: nombre de usuario
pwd: contraseña de la base de datos

Estos datos deben poder ser consultados en el panel de control de 1and1

ahora esta sería la línea del webconfig que subas al 1and1

<add name="ASPNETDBConnectionString" connectionString="server=mssqlxxx.1and1.es; initial catalog=dbxxxxxxxxx;uid=dboxxxxxxxxx;pwd=xxxxxxxx"/>

(Los datos arriba especificados, supongo que es lo que dices que cambias y te da error)

Imagino que en el 1and1 existe alguna aplicación para que puedas administrar la base de datos, así podrás probar las consultas y ver que el proceso de registro funcione al menos a nivel de datos...

Te sugiero que hagas una prueba desde el administrador, si esto funciona prueba subiendo un script sencillo en donde simplemente hagas la misma consulta pero esta vez usando la conexión como te lo dicen en el ejemplo, que es cargándola directamente a un objeto para la conexión...

Te sugiero que pongas el código de .Net con el que traes la información

Saludos,
  #6 (permalink)  
Antiguo 28/12/2012, 05:16
 
Fecha de Ingreso: diciembre-2012
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: .Net - BD - Web.Config - 1and1

Hola,

He probado como me has dicho el script que viene en la ayuda y si que me devuelve los datos.

Mi manera de conectar basicamente es mediante un SQLDataSource que toma la cadena de conexion del webconfig, y establece el Select en cada GridView. Ejemplo:

Código:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ASPNETDBConnectionString %>"
        SelectCommand="SELECT Articulo.IDArticulo, Articulo.Usuario, Articulo.Fecha, Articulo.Articulo, Articulo.Categoria, Articulo.Cuando, Articulo.Publicado, Popularidad.Buena, Popularidad.Mala, COUNT(Comentarios.IDComentario) AS TotalComentarios FROM Articulo INNER JOIN Popularidad ON Articulo.IDArticulo = Popularidad.IDArticulo LEFT OUTER JOIN Comentarios ON Articulo.IDArticulo = Comentarios.IDArticulo GROUP BY Articulo.IDArticulo, Articulo.Usuario, Articulo.Fecha, Articulo.Articulo, Articulo.Categoria, Articulo.Cuando, Articulo.Publicado, Popularidad.Buena, Popularidad.Mala ORDER BY Articulo.IDArticulo DESC">
    </asp:SqlDataSource>

Y para no poner la burrada de codigo, os pongo un trocito de como muestro esos datos...


Código:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
        AutoGenerateColumns="False" DataKeyNames="IDArticulo" DataSourceID="SqlDataSource1"
        BorderColor="White" GridLines="None" ShowHeader="False" PageSize="5">
        <PagerSettings Mode="NumericFirstLast" />
        <RowStyle BorderColor="White" />
        <EmptyDataRowStyle BorderColor="White" />
        <Columns>
            <asp:TemplateField ShowHeader="False">
                <ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Cuando", "{0}, ") %>'></asp:Label>
</ItemTemplate>
                <ControlStyle BackColor="White" />
                <FooterStyle BorderColor="White" />
                <HeaderStyle BorderColor="White" />
                <ItemStyle BorderColor="White" />
            </asp:TemplateField>
        </Columns>
        <FooterStyle BorderColor="White" />
        <PagerStyle BorderColor="#E2E2E2" BorderStyle="Solid" BorderWidth="3px" 
            BackColor="#FF9700" Font-Bold="True" Font-Names="Verdana" Font-Size="Medium" />
        <SelectedRowStyle BorderColor="White" />
        <HeaderStyle BorderColor="White" />
        <EditRowStyle BorderColor="White" />
        <AlternatingRowStyle BorderColor="White" />
    </asp:GridView>

Gracias por todo, y perdonad las molestias!

Última edición por dani5black; 28/12/2012 a las 05:22
  #7 (permalink)  
Antiguo 28/12/2012, 11:49
 
Fecha de Ingreso: diciembre-2012
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: .Net - BD - Web.Config - 1and1

Por si sirve de algo, he visto esto en el webconfig...

Código:
<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1"/>
		<membership defaultProvider="AspNetSqlProvider">
			<providers>
				<add name="AspNetSqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ASPNETDBConnectionString" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="3"/>
			</providers>
		</membership>
  #8 (permalink)  
Antiguo 28/12/2012, 12:15
 
Fecha de Ingreso: diciembre-2012
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: .Net - BD - Web.Config - 1and1

Vale... he averiguado mas cosas...algo es algo!! El problema solo es el login!! He conseguido mostrar articulos de la base de datos.
Pero no consigo hacer login y lo necesito ya que tengo permisos de administrador para un usuario que me da acceso a un panel de control hecho por mi.

Asi que en teoria el problema no esta en la cadena de conexion...un paso adelante...y otro hacia atras... :(

El login lo gestiono todo mediante los controles que vienen con el visual.

Tanto el login como los articulos y todo, dependen de la misma BD, asi que no me lo explico... :(

Tengo el acceso a paginas y a carpetas restringido por "roles", podria ser por eso?

Última edición por dani5black; 28/12/2012 a las 12:28
  #9 (permalink)  
Antiguo 29/12/2012, 05:29
 
Fecha de Ingreso: diciembre-2012
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: .Net - BD - Web.Config - 1and1

Siento ser tan pesado... probando a registrar un nuevo usuario, me ha saltado este error.

Código:
Server Error in '/' Application.
The SSE Provider did not find the database file specified in the connection string. At the configured trust level (below High trust level), the SSE provider can not automatically create the database file.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Configuration.Provider.ProviderException: The SSE Provider did not find the database file specified in the connection string. At the configured trust level (below High trust level), the SSE provider can not automatically create the database file.

Source Error:

The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:

1. Add a "Debug=true" directive at the top of the file that generated the error. Example:

  <%@ Page Language="C#" Debug="true" %>

or:

2) Add the following section to the configuration file of your application:

<configuration>
   <system.web>
       <compilation debug="true"/>
   </system.web>
</configuration>

Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.

Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.

Stack Trace:


[ProviderException: The SSE Provider did not find the database file specified in the connection string. At the configured trust level (below High trust level), the SSE provider can not automatically create the database file.]
   System.Web.DataAccess.SqlConnectionHelper.EnsureSqlExpressDBFile(String connectionString) +2588927
   System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +113
   System.Web.Security.SqlRoleProvider.AddUsersToRoles(String[] usernames, String[] roleNames) +743
   System.Web.Security.Roles.AddUserToRole(String username, String roleName) +191
   Usuarios_Registro.CreateUserWizard1_CreatedUser(Object sender, EventArgs e) +33
   System.Web.UI.WebControls.CreateUserWizard.OnCreatedUser(EventArgs e) +111
   System.Web.UI.WebControls.CreateUserWizard.AttemptCreateUser() +354
   System.Web.UI.WebControls.CreateUserWizard.OnNextButtonClick(WizardNavigationEventArgs e) +102
   System.Web.UI.WebControls.Wizard.OnBubbleEvent(Object source, EventArgs e) +418
   System.Web.UI.WebControls.CreateUserWizard.OnBubbleEvent(Object source, EventArgs e) +161
   System.Web.UI.WebControls.WizardChildTable.OnBubbleEvent(Object source, EventArgs args) +19
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
   System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +118
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +166
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
  #10 (permalink)  
Antiguo 29/12/2012, 05:46
 
Fecha de Ingreso: diciembre-2012
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: .Net - BD - Web.Config - 1and1

CONSEGUIDOOOOOOOOO!!!!!!

Por si a alguien le pasa lo mismo...
Parece ser que los controles de "Login" de .Net utilizan por defecto la conectionString "LocalSqlServer", aunque en el membership se indique que utilice otro.

Mi codigo en el webconfig al principio era este..

Código:
<connectionStrings>
        <add name="ASPNETDBConnectionString" connectionString="server=dbxxxx.db.1and1.com,xxxx; initial catalog=dbxxxx; uid=dboxxxx; Pwd=xxx"/>
    </connectionStrings>
.........
<membership defaultProvider="AspNetSqlProvider">
			<providers>
				<add name="AspNetSqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ASPNETDBConnectionString" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="3"/>
      </providers>
		</membership>
Pues bien, aunque en teoria el membership es el que le dice la cadena de conexion a los controles de login, y se le dice que utilice la ASPNETDBConnectionString, realmente no lo hace, y busca la cadena de conexion "LocalSQLServer", por eso no me aceptaba nunca ningun login.
Lo que he hecho es eliminar la cadena "LocalSqlServer" que viene por defecto, y duplicar la mia con ese nombre.

Código:
<connectionStrings>
    <remove name="LocalSqlServer"/>
    <add name="ASPNETDBConnectionString" connectionString="server=dbxxxx.db.1and1.com,xxxx; initial catalog=dbxxxx; uid=dboxxxx; Pwd=xxxx"/>
    <add name="LocalSqlServer" connectionString="server=dbxxxx.db.1and1.com,xxxx; initial catalog=dbxxxx; uid=dboxxxx; Pwd=xxxx"/>
      </connectionStrings>
......
<membership defaultProvider="AspNetSqlProvider">
			<providers>
				<add name="AspNetSqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ASPNETDBConnectionString" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="3"/>
      </providers>
		</membership>
Gracias a todos por las respuestas! :)

Etiquetas: 1and1, bd
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 05:01.