Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

aspnetdb

467 views
Skip to first unread message

fff

unread,
Dec 2, 2007, 3:09:58 PM12/2/07
to
Hola a todos, hace dias que intento saber porque mi aplicación al subirla al
proveedor de hosting, no pasa de la pantalla de login.
Al ir buscando por ahí, resulta que si desarrollas con sqlServer 2005
Express, te crea el aspnetdb.mdf que se adjunta automaticamente al servidor
de b.d. cuando se requiere informacion de esta b.d.
Pues bien, en el servidor externo donde cualgo la aplicación tienen el SQL
Server 2005 de pago (lógicamente) y resulta que esta version del sql no
adjunta el archivo .mdf, con lo que da un pedazo de error que flipas y no
pasas del login (estupendo!!, no??).
Pues bien, la pregunta es, como puedo hacer para conseguir que funcione la
conexion a la b.d. aspnetdb desde el servidor de producción. Supongo será un
problema que se le habrá planteado a mucha gente.
Supongo que la cuestión seria crear la b.d. aspnetdb como una b.d normal,
pero desde el el management studio del SqlServer 2005 express, no permite
adjuntar esta b.d. directamente.
Que puedo hacer, por favooooooooorr!!!
Muchas gracias.


Marcos Mellibovsky

unread,
Dec 2, 2007, 3:35:47 PM12/2/07
to
Hola Fredy
aspnet trae una herrameinta que se llama aspnet_regsql y se encuentra en la
carpeta de instalación del framework. Esta herramienta te sirve apra crear
todas las tablas y procedimeintos almacenados de la aspnetdb en la base que
vos le digas.
Despues trendras que cambiar la cadena de conexion

Saludos
MArcos Mellibovsky

"fff" <fre...@menta.net> escribió en el mensaje de noticias
news:OdAxO9R...@TK2MSFTNGP06.phx.gbl...

fff

unread,
Dec 2, 2007, 3:58:18 PM12/2/07
to
muchas, gracias.
Otra cuestión es, es necesario que aspnetdb sea una base de datos a parte??
Esto lo digo, porque si es así, necesitaré contratar otra base de datos en
el servidor externo.

Gracias.

"Marcos Mellibovsky" <mel...@arsoft.com.ar> escribió en el mensaje
news:4E51ADB5-A710-40C9...@microsoft.com...

Jose A. Fernandez

unread,
Dec 2, 2007, 7:36:50 PM12/2/07
to
Hola FFF
...me sumo al post ;)
Como te comenta Marcos utilizando la herramienta aspnet_regsql
Mira estos enlaces y tambien el post anterior que te lo copio mas
adelante..

Crear la base de datos de servicios de la aplicación para SQL Server
http://msdn2.microsoft.com/es-es/library/x28wfk74.aspx

Herramienta Registro de SQL Server para ASP.NET (Aspnet_regsql.exe)
http://msdn2.microsoft.com/es-es/library/ms229862.aspx

Te copio de unos post anteriores de la misma tematica para ayudar o
mejor dicho orientarte como "registrar" las funcionalidades de ASP.NET
2.0 sobre una SQLServer.


Espero que te sirva para orientar, o ayudar un poco mas
______________________
Jose A. Fernandez
blog: http://geeks.ms/blogs/fernandezja


-----------------------------------------------
POST ANTERIOR
-----------------------------------------------

Debes tener un SQL Server para conectarte con para registrarlo y usar
las funcionalidades de login, etc...
Por ejemplo para el servidor llamando SERVIDORREMOTO con el usuario
administrador "sa" con contraseña "clave" en la base de datos
"Ejemplo" (porque sino te crea una base aspnetdb o algo asi)
aspnet_regsql.exe -S SERVIDORREMOTO -U sa -P clave -d Ejemplo -A
mr
(fijate despues en las opciones -A)
Si no te gusta la linea de comandos puedes hacer asi
aspnet_regsql.exe -W
Para que sea interfaz winform con un wizard (que raro no?.. next,
nect, next)


Cuando registraas una DB para utilizar con las caracteristicas
avanzadas de asp.net 2.0 (membership, roles, profiles, etc) tienes que
registrarlo (o el asp.net lo realiza con vos)

Por ejemplo para el servidor llamando SERVIDORREMOTO con el usuario
administrador "sa" con contraseña "clave" en la base de datos
"Ejemplo" (porque sino te crea una base aspnetdb o algo asi)
aspnet_regsql.exe -S SERVIDORREMOTO -U sa -P clave -d Ejemplo -A
mr
(fijate despues en las opciones -A)
Si no te gusta la linea de comandos puedes hacer asi
aspnet_regsql.exe -W
Para que sea interfaz winform con un wizard (que raro no?.. next,
nect, next)

Eso es para registrar un servidor y utilizarlo, pero si ya lo tienes
solo hace falta
1) O crear todo de nuevo
2) Importar (tanto tablas, datos como SP)

Esto lo puedes tener en un SQL2000, MSDE, SQL2005 o SQL2005 Express
(no se si funciona en SQL Server 7, pero creeria que si)

Ahora bien.. todo muy lindo, esta todo en el SQL2005 en la Base de
Datos "Ejemplo" pero no funciona.. por queee??
Bueno ASP.NET provee una coleccion de Provider para cada una de sus
caracteristicas (membership, profiles, roles, etc), por eso sabe donde
ir a buscar tu base ASPNETDB... y sabe como se llama
Eso que esta configurado por defecto esta en el machine.config, por si
lo quieres ver aqui
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG

Bueno hay que indicarle nuestra web que ubique nuestra nuevo SERVER
con nuestra nueva BASE DE DATOS en el
Donde?
En el web.config....(donde sino?)

Seria algo asi

<membership defaultProvider="tuPropioMembershipProvider">
<providers>
<clear />
<add name="tuPropioMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="TUDBEJEMPLOConnectionString"
....
/>
</providers>
</membership>


Mira esta parte
<clear />
Indicas que borre la coleccion membership>>providers que esta cargada
(mediante machine.config)
Y luego todos los parametros requeridos
Para que no te tome el proveedor por defecto, pero igualmente puedes
especificar cual es con
<membership defaultProvider="tuPropioMembershipProvider">

SINTESIS:
Luego de tanto escribir y conociendo que estamos cerca (en la misma
ciudad) espero el cajon de cerveza je!
- Pasar una DB de produccion:
Si no queres utilizar la db que arma el asp.net y teniendo alli
dentro tus tablas de core de tu aplicacion, deberas ralizar lo que
detalle msa arriba.
- Si cambias la DB y el servidor tendras que sobreescribir o mejor
dicho agregar un proveedor de membresia, de roles, de perfiles
- Mas abajo del post (luego de la firma) coloco un ejemplo de
agregar proveedores.

NOTA:
Creo que hay una manera de indicarle directamente TODO en uno SIN
NECESIDAD de realizar un proveedor por cada funcionalidad, NO ME
ACUERDO como era y no lo tenia a mano.. asi que si obtienes por ahi
como era POSTEALO

Mira estos enlaces
------------------------------------------
Crear la base de datos de servicios de la aplicación para SQL Server
http://msdn2.microsoft.com/es-es/library/x28wfk74.aspx

Herramienta Registro de SQL Server para ASP.NET (Aspnet_regsql.exe)
http://msdn2.microsoft.com/es-es/library/ms229862.aspx

Elemento membership (Esquema de configuración de ASP.NET)
Configura los parámetros para la administración y autenticación de
cuentas de usuario utilizando la suscripción ASP.NET.
http://msdn2.microsoft.com/es-es/library/1b9hw62f(VS.80).aspx


______________________
Jose A. Fernandez
blog: http://geeks.ms/blogs/fernandezja


----------------------------------------------------------------------
ESTO VA EN EL WEBCONFIG (va como hijos de <system.web>)
Mira que hacen referencia a un
connectionStringName="TUDBEJEMPLOConnectionString"
Que es el ConnectionString que esta mas arriba en el web.config, que
en ese string
de conexion estas indicandole la db que estas utilizando
Nota: Aqui hay varios parametros mas que puedes mirar
----------------------------------------------------------------------

<membership defaultProvider="TUDBEJEMPLOMembershipProvider"
userIsOnlineTimeWindow="20">
<providers>
<clear/>
<add
name="TUDBEJEMPLOMembershipProvider"

type="System.Web.Security.SqlMembershipProvider, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

connectionStringName="TUDBEJEMPLOConnectionString"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="5"

minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"

passwordStrengthRegularExpression="" />
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="TUDBEJEMPLOProfileProvider"
connectionStringName="TUDBEJEMPLOConnectionString"
applicationName="/"
type="System.Web.Profile.SqlProfileProvider, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</profile>
<roleManager defaultProvider="TUDBEJEMPLORoleProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All">
<providers>
<clear/>
<add name="TUDBEJEMPLORoleProvider"
connectionStringName="TUDBEJEMPLOConnectionString"
applicationName="/"
type="System.Web.Security.SqlRoleProvider, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add
name="TUDBEJEMPLOWindowsTokenRoleProvider"
applicationName="/"
type="System.Web.Security.WindowsTokenRoleProvider, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>

On 2 dic, 17:58, "fff" <fre...@menta.net> wrote:
> muchas, gracias.
> Otra cuestión es, es necesario que aspnetdb sea una base de datos a parte??
> Esto lo digo, porque si es así, necesitaré contratar otra base de datos en
> el servidor externo.
>
> Gracias.
>

> "Marcos Mellibovsky" <mell...@arsoft.com.ar> escribió en el mensajenews:4E51ADB5-A710-40C9...@microsoft.com...

fff

unread,
Dec 3, 2007, 7:28:11 AM12/3/07
to
He ejecutdo la herramienta aspnet_regsql para adjuntar las tablas de control
de usuarios, funciones (b.d. aspnetdb) a la b.d. remota y me da este error:
No se pudo realizar la instalación.

Excepción:
Error durante la ejecución del archivo SQL 'InstallMembership.sql'. El
número de error de SQL es 229 y el mensaje SqlException es: Se ha denegado
el permiso EXECUTE en el objeto 'sp_addrolemember', base de datos
'mssqlsystemresource', esquema 'sys'.
Se ha denegado el permiso EXECUTE en el objeto 'sp_addrolemember', base de
datos 'mssqlsystemresource', esquema 'sys'.

----------------------------------------
Detalles del error
----------------------------------------

SQL Server:
Base de datos: [qct672]
Se cargó el archivo SQL:
InstallMembership.sql
------------------------------------------------
Parece que no tengo permiso para crear alguna tabla de estas.
Que tengo que hacer? Contratar otra b.d. en el servidor remoto? de hecho, he
hecho lo mismo para una b.d. en local y me ha añadido todas las tablas bien.
Porque es tan complicado todo esto???
Gracias.


"Jose A. Fernandez" <ferna...@gmail.com> escribió en el mensaje
news:cba65eb0-7c8e-4edb...@a39g2000pre.googlegroups.com...

Jose A. Fernandez

unread,
Dec 3, 2007, 10:13:52 AM12/3/07
to
Hola FFF
Primeramente no existe nada "raro" en este mecanismo...
Es el mismo mecanismo que si creas una tabla nueva en tu DB y luego
debes subir al servidor, como lo haces? un script? y si la tabla tiene
datos? como lo subes?
La idea es que se pueda realizar lo mismo con las tablas que genera
ASP.NET para sus funcionlidades

Prueba en tu maquina generando estas tablas en la DB original (porque
la idea es que tengas una sola DB) salvo que quieras contrar como
dices 2 DB una para los datos propios de tu negocio y otras para lo
que respecta a seguridad.. pero es algo no creo que te sirva de esa
manera.

Por eso deberias crear la DB en tu maquina de desarrollo probarla y
luego si subirla al servidor (tablas, procedimientos) de la misma
forma que has actualizado la db del servidor con tus tablas y
procedimientos

______________________
Jose A. Fernandez
blog: http://geeks.ms/blogs/fernandezja


On Dec 3, 9:28 am, "fff" <fre...@menta.net> wrote:
> He ejecutdo la herramienta aspnet_regsql para adjuntar las tablas de control
> de usuarios, funciones (b.d. aspnetdb) a la b.d. remota y me da este error:
> No se pudo realizar la instalación.
>
> Excepción:
> Error durante la ejecución del archivo SQL 'InstallMembership.sql'. El
> número de error de SQL es 229 y el mensaje SqlException es: Se ha denegado
> el permiso EXECUTE en el objeto 'sp_addrolemember', base de datos
> 'mssqlsystemresource', esquema 'sys'.
> Se ha denegado el permiso EXECUTE en el objeto 'sp_addrolemember', base de
> datos 'mssqlsystemresource', esquema 'sys'.
>
> ----------------------------------------
> Detalles del error
> ----------------------------------------
>
> SQL Server:
> Base de datos: [qct672]
> Se cargó el archivo SQL:
> InstallMembership.sql
> ------------------------------------------------
> Parece que no tengo permiso para crear alguna tabla de estas.
> Que tengo que hacer? Contratar otra b.d. en el servidor remoto? de hecho, he
> hecho lo mismo para una b.d. en local y me ha añadido todas las tablas bien.
> Porque es tan complicado todo esto???
> Gracias.
>

> "Jose A. Fernandez" <fernande...@gmail.com> escribió en el mensajenews:cba65eb0-7c8e-4edb...@a39g2000pre.googlegroups.com...


> Hola FFF
> ...me sumo al post ;)
> Como te comenta Marcos utilizando la herramienta aspnet_regsql
> Mira estos enlaces y tambien el post anterior que te lo copio mas
> adelante..
>

> Crear la base de datos de servicios de la aplicación para SQL Serverhttp://msdn2.microsoft.com/es-es/library/x28wfk74.aspx
>
> Herramienta Registro de SQL Server para ASP.NET (Aspnet_regsql.exe)http://msdn2.microsoft.com/es-es/library/ms229862.aspx

> Crear la base de datos de servicios de la aplicación para SQL Serverhttp://msdn2.microsoft.com/es-es/library/x28wfk74.aspx
>
> Herramienta Registro de SQL Server para ASP.NET (Aspnet_regsql.exe)http://msdn2.microsoft.com/es-es/library/ms229862.aspx


>
> Elemento membership (Esquema de configuración de ASP.NET)
> Configura los parámetros para la administración y autenticación de

> cuentas de usuario utilizando la suscripción ASP.NET.http://msdn2.microsoft.com/es-es/library/1b9hw62f(VS.80).aspx

> ...
>
> read more >>

fff

unread,
Dec 3, 2007, 4:17:33 PM12/3/07
to
Gracias por todas tus respuestas, he hecho lo que dices, a partir de un
script he añadido las tablas de admin. de usuarios al servidor remoto y las
ha creado correctamente.
Luego he añadido al webconfig, la referencia del 'LocalSqlServer' y la
aplicación la pilla bien, lo que pasa ahora es que a la hora de administrar
los permisos de los usuarios desde el ASP .NET Configuration me lanza un
error de versiones o no se que:

El siguiente mensaje puede ayudar a diagnosticar el problema:
'System.Web.Security.SqlRoleProvider' requiere un esquema de base de datos
compatible con el esquema versión '1'. Sin embargo, el esquema de base de
datos actual no es compatible con esta versión. Quizá necesite instalar un
esquema compatible con aspnet_regsql.exe (disponible en el directorio de
instalación de Framework), o actualizar el proveedor con una versión más
nueva. en
System.Web.Administration.WebAdminPage.CallWebAdminHelperMethod(Boolean
isMembership, String methodName, Object[] parameters, Type[] paramTypes) en
ASP.security_users_adduser_aspx.PopulateCheckboxes() en
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles\Security\Users\addUser.aspx:línea
28 en ASP.security_users_adduser_aspx.Page_Load() en
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles\Security\Users\addUser.aspx:línea
22 en System.Web.Util.CalliHelper.ArglessFunctionCaller(IntPtr fp, Object o)
en System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,
EventArgs e) en System.Web.UI.Control.OnLoad(EventArgs e) en
System.Web.UI.Control.LoadRecursive() en
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,
Boolean includeStagesAfterAsyncPoint)

Sabes si se puede evitar este error, y poder gestionar los usuarios desde
las tablas del servidor remoto?
Muchisimas gracias por todo.

"Jose A. Fernandez" <ferna...@gmail.com> escribió en el mensaje

news:f9a12d94-977e-4024...@p69g2000hsa.googlegroups.com...

Jose A. Fernandez

unread,
Dec 3, 2007, 5:16:54 PM12/3/07
to
Hola FFF
Segun lo que me comentas estas necesitando "administrar las
funcionalidaddes de aps.net" a partir del sitio de administracion que
provee?
Bueno aqqui te voy a dar una mala noticia.. si no tienes accceso
directo a SQL no lo vas a poder raalizar.
Si te fijas en post anteriores te enviaba como cambiar los proveedores
de membresia, roles, etc para que lea la los datos de la nueva DB (y
no la localhost), si quieres puedes colocar tus configuracion del
web.config para visualizarlo

Bueno lo unico que nos quedo a todos (me incluso) es armarnos nuestros
propiedos sistemas de administracion sobre el nos provee ASP.NET 2.0.
Es decir tener en nuestros sitios web de administracion secciones para
manipular los usuarios, roles, asociar usuarios a roles... es decir
las tareas de seguridad ;)

Ademas cuando publicas el sitio la idea es que no tengas que acceder
al sitio de administracion que provee el asp.net sino que tu tengas
que armarlo.

Mi recomendacion es quemires este tutorial, lo descarges, pruebes y
luego modificas segun tus necesidades
Este es el articulo original
http://peterkellner.net/2006/01/09/microsoft-aspnet-20-memberrole-management-with-iis/

Que luego lo publico en MSDN

- Microsoft ASP.NET 2.0 Member/Role Management with IIS
- Part 1: Security and Configuration Overview
http://msdn2.microsoft.com/en-us/library/aa478958.aspx
- Part 2: Implementation
http://msdn2.microsoft.com/en-us/library/aa478947.aspx
- Part 3: AJAX Enhancements with Microsoft Atlas
http://msdn2.microsoft.com/en-us/library/aa479398.aspx
- Part 4: Adding Personalization with Profiles to the
ObjectDataSource
http://msdn2.microsoft.com/en-us/library/aa479399.aspx

Aqui esta encapsulando el comportamiento para que lo puedas utilizar
mediante algo conocido como objectDataSource.. o sea arma un Wrapper
de las funcionalidaddes de membresia, tu lo puedes extender.


Espero que te sirva de ayuda o guia
_______________________


Jose A. Fernandez
blog: http://geeks.ms/blogs/fernandezja

> "Jose A. Fernandez" <fernande...@gmail.com> escribió en el mensajenews:f9a12d94-977e-4024...@p69g2000hsa.googlegroups.com...

> ...
>
> leer más >>

Alex Alfonso

unread,
Dec 14, 2007, 12:51:40 AM12/14/07
to
Hola FFF, "deberias colocar tu nombre"

Te cuento yo hace poco pase por eso y no es cosa del otro mundo.

yo tambien tengo Hosting de pago con Bases de datos SQL y en ASP 2.0.
entonces que hice para q mi aplicacion funcionara con el SQL.

1. Por el administrador de tu Hosting, en mi caso es el PLESK, adicione la
base de datos con su usuario respectivo y su passwd. respectivo.
2. Como en otras repsuestas, debes utilizar el archivo aspnet_regsql.exe que
se encuentra en:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 -> generlamente se
encuantra alli. en la version 2.0 de ASP. NET
3. escribi el siguiente comando para la conexion con la db y la creacion del
mismo:

ASPNET_REGSLQ -S "NOMBRE DE MI SERVISOR: EJ: MSSQL.MISERVIDOR.COM" -U "MI
NOMBRE DE USUARIO EJ: MYUSER" -P "MI PASSWORD EJ: MYPASSWD" -A "PARA Q ME
GENERE TODO LO NECESARIO EN LA DB" -D "EL NOMBRE DE LA BASE DE DATOS QUE
CREASTE POR Q NO HAY NECESIDAD DE CREAR ASPNETDB SI NO LA QUE QUIERAS LUEGO
EN EL WEB.CONFIG ESPECIFICAS EL NOMBRE"

Con este comando "omite la informacion entre comillas y adiciona la tuya",
me funciono perfectamente, luego en el web.config que coloco?
adicionas el connectionstring en su lugar
<add name="myConnectionString" connectionString="Data
Source=mssql.miservidor.com;User ID=myuser;Password=mypasswd"

y luego...

<membership defaultProvider="sqlmembershipprovider"
userIsOnlineTimeWindow="15" hashAlgorithmType="">

<providers>

<clear/>

<add name="sqlmembershipprovider"

type="System.Web.Security.SqlMembershipProvider"

connectionStringName="myConnectionString"

enablePasswordRetrieval="false"

enablePasswordReset="true"

requiresQuestionAndAnswer="true"

minRequiredPasswordLength="6"

minRequiredNonalphanumericCharacters="0"

passwordFormat="Hashed""/>

</providers>

</membership>

esto lo hago para especificar cual va hacer el manejador de mis membership o
usuarios y demas roles en mi aplicacion.


Espero te sirva de algo esta ayuda..

Estamos en contacto.

Cualquier sugerencia al respecto, favor notificarlos al correo electrónico
conta...@servisistemasara.com

Su información es muy valiosa para nuestro mejoramiento continuo

Alex Rodrigo Alfonso

Analista de Sistemas

Servisistemas ARA.

www.servisistemasara.com

alex.a...@servisistemasara.com

alex...@hotmail.com

Bogotá - Colombia

"fff" <fre...@menta.net> escribió en el mensaje
news:OdAxO9R...@TK2MSFTNGP06.phx.gbl...

alej...@gmail.com

unread,
Jan 5, 2014, 11:21:56 PM1/5/14
to

HOLA ME LLAMO ALEJANDRO, ALEX ALFONSO MIL GRACIAS POR SU RESPUESTA.. LEVABA BUSCANDO ALGO ASI HACE UN MES Y POR FIN PUDE ENCONTRAR LO QUE NECESITABA, MIL GRACIAS
0 new messages