Poblema con SqlMembershipProvider

martedì 29 agosto 2006 - 15.02

Saturno73 Profilo | Newbie

Il mio Host non permette di gestire il database come utente dbo ma solo come MSSqlXXXXXX che è il nome del database fornito dal mio Host.
Per questo motivo è impossibile usare l'SqlMembershipProvider.
Sto tentando di risolvere il problema ricompilando i sorgenti del provider originali e sostituendo a "dbo" il nome del database datomi dall'Host.

Ci sto provando in tutti i modi ma non riesco a risolvere.

Ho creato sul db le tabelle e le procedure sostituendo al posto di dbo il nome MSSqlXXXXXX datomi dall'Host.

Ho poi inserito in APP_CODE i files .cs contenuti in "ASP.NET Provider Toolkit SQL Samples"

Ed ho sostituito anche qui MSSqlXXXXXX al posto di dbo.

poi ho sostituito nel web.config al posto di

type="System.Web.Security.SqlMembershipProvider"

ho messo

type="Microsoft.samples.SqlMembershipProvider"


Non ho risolto niente...


Qualcuno è riuscito già a risolvere il problema????


Grazie a tutti!!!!!

freeteo Profilo | Guru

ciao,
ma hai messo correttamente il puntamento a quel server, intendo con la connectionstring nel web.config?
tipo:
<?xml version="1.0"?> <configuration> <connectionStrings> <add name="miodb" providerName="System.Data.SqlClient" connectionString="Data Source....." /> </connectionStrings> <system.web> <membership defaultProvider="myMemb"> <providers> <add name="myMemb" connectionStringName="miodb" type="System.Web.Security.SqlMembershipProvider"/> </providers> </membership> ....
come vedi specifichi la connessione sql, e poi per il membership gli dici di usare 1 provider che gli aggiungi dentro nel tag etc...e lo stesso devi fare per le atre cose tipo Profile, Role se ti servono.

Fatto questo, se le tabelle sono le stesse, dovrebbe andare senza problemi...
ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo

Saturno73 Profilo | Newbie

Io ho questo:

____________________________________________________________________________________________
<connectionStrings>
<add name="MSSqlXXXX" connectionString="Data source=XX.XXX.XXX.XX;User ID=MSSqlXXXXX;Password=xxxxxxxx;database='MSSqlXXXX" />
<add name="Personal" connectionString="Data Source=XX.XXX.XXX.XX;User ID=MSSqlXXXXX;Password=xxxxxxxx;database='MSSqlXXXX'"
providerName="System.Data.SqlClient" />
<add name="XXXXXXXXXConnectionString" connectionString="Data Source=XX.XXX.XXX.XX;Initial Catalog=MSSqlXXXX;Persist Security Info=True;User ID=MSSqXXXX;Password=xxxxxxxx"
providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings/>


<roleManager enabled="true" />
<membership defaultProvider="MSSqXXXXX" userIsOnlineTimeWindow="20">
<providers>
<add
name="MSSqXXXXXX"
type="Microsoft.samples.SqlMembershipProvider"
connectionStringName="MSSqlXXXXXX"
applicationName="XXXX" />
</providers>
</membership>
_________________________________________________________________________





Il problema è che se accedo alle parti di database create da me nono ci sono problemi, quando tento di accedere alle tabelle o alle procedure di asp_net ottengo l'errore:

Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.
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.Data.SqlClient.SqlException: Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.

Source Error:


Line 258: cmd.Parameters.Add(p);
Line 259:
Line 260: cmd.ExecuteNonQuery();
Line 261:
Line 262: iStatus = ((p.Value != null) ? ((int)p.Value) : -1);


freeteo Profilo | Guru

-

freeteo Profilo | Guru

mmm strano ma dall'errore sembra non possa accedere alla dll, controlla che ci sia sotto alla bin della tu applicazione l'assembly che contiene il prov di sample, ovvero la "SampleAccessProviders.dll" nel caso di access nel caso tuo probabilmente si chiama la "SamplesSqlProvider"...che al momento non conosco devo essere sincero
ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo

Saturno73 Profilo | Newbie

Non c'è proprio la cartella bin!

Comunque adesso l'errore è:


Server Error in '/' Application.
--------------------------------------------------------------------------------

The 'Microsoft.Samples.SqlMembershipProvider' requires a database schema compatible with schema version '1'. However, the current database schema is not compatible with this version. You may need to either install a compatible schema with aspnet_regsql.exe (available in the framework installation directory), or upgrade the provider to a newer version.
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 'Microsoft.Samples.SqlMembershipProvider' requires a database schema compatible with schema version '1'. However, the current database schema is not compatible with this version. You may need to either install a compatible schema with aspnet_regsql.exe (available in the framework installation directory), or upgrade the provider to a newer version.

Source Error:


Line 264: schemaVersionCheck = -1;
Line 265:
Line 266: throw new ProviderException(SR.GetString(SR.Provider_Schema_Version_Not_Match, provider.ToString(), version));
Line 267: }
Line 268: }


Source File: d:\inetpub\webs\glaucopercopoit\App_Code\ASPNET\SecUtil.cs Line: 266

gae58 Profilo | Senior Member

dall'articolo che ho letto, bisogna passare i rekord presenti in aspnet_ScahemaVersion attraverso la creazione di un CSV o di uno script inster, ma non lo so fare

Gaetano

Anonimo Profilo | Senior Member

Salve, mi e riuscito ad confiruare MS-SQL, però girando in giro sul web e questa discussione mi sono accorto, che se metto questo comando:

aspnet_regsql -E -S .\SQLEXPRESS -A all -d test

Mi importa tutte le tabelle e i schemi etc...

Però volevo sapere che sto capendo come fare per non ricompilare la dll.....

Io al db , ho aggiunto uno schema MSsql10035 . Il db di esempio sull'host.

Vi allego un'immagine del db.

415x595 27Kb

Però come faccio ad dirgli di cambiare schema tramite quella riga di commando lì?
grazi.e
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5