65 messaggi dal 08 aprile 2003
Buona giornata,

Sono un po di giorni che ho riformattato il pc e ho reinstallato Visualwebdeveloper e sqlserver 2005 express.

Ho copiato i miei progetti dal backup che avevo fatto compresi i relativi database aspnetdb.mdf nella cartella app_data. Adesso sono davanti ad un problemino con una delle mie applicazioni, cioè sembra che sqlserver non utilizzi il database che ho copiato ma un altro che non capisco dove sia.

Mi spiego meglio, faccio partire la mia applicazione provo a loggarmi ma mi dice che l'utente non esiste, allora ho creato un altro utente (usando l'applicazione) e tutto funziona. Il problema è che quando vado ad aprire la tabella del mio DB in App_data l'utente creato non c'è! Sembra come se sqlserver salva i dati in un altro database! Molto probabilmente nella cartella dati di SqlServer dentro Microsoft SQL Server\MSSQL.1\MSSQL\Data.
Stesso problema quando sono andato ad accedere ad una tabella che ho creato a mano dentro il mio DB in App_Data. Non trova la tabella!

Ora come posso fare per dire ad sql che deve utilizzare il mio DB in App_Data? Nel web.config ho messo l'indirizzo completo del mio DB!
lo fai attraverso la stringa di connessione. nel caso usi la single user instance vedi il path dentro il web.config, altrimenti stai usando SQL Server come servizio e devi fare il mount del tuo database.
in linea di massima in produzione andrebbe sempre usata la seconda opzione, perchè la single user instance, come il nome stesso indica, limita l'accesso ad un solo utente per volta.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
65 messaggi dal 08 aprile 2003
Scusa l'ignoranza ma ho capito ben poco!!

Nel mio webconfig c'è la stringa di connessione che punta al DB dentro App_Data, con SQL Management Studio express apro il Database che è appunto in App_Data ma non ci sono ne le tabelle ne i dati che creo tramite le pagine dell'applicazione.
Dunque la conclusione che traggo è che le pagine che ho creato, non salvano le informazioni nel DB in App_Data ma da qualche altra parte!

Come è possibile tutto ciò? C'è qualcosa che mi sfugge!!

Ecco la stringa di connessione del mio web.config:
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=C:\Documents and Settings\utente\Documenti\Visual Studio 2005\WebSites\WebSite1\App_Data\aspnetdb.mdf;User Instance=true"providerName="System.Data.SqlClient"/>

Poi nelle pagine faccio sempre riferimento a questa connectionString.

Mi viene in mente una cosa, è possibile che abbia fatto qualche pasticcio con aspnet_regsql? (anche perchè mi dava spesso errore quando cercavo di farlo girare)
ciscos wrote:
Dunque la conclusione che traggo è che le pagine che ho creato, non salvano le informazioni nel DB in App_Data ma da qualche altra parte!

beh, ma sei sicuro che puntino ad una stringa di connessione corretta?
Mi viene in mente una cosa, è possibile che abbia fatto qualche pasticcio con aspnet_regsql? (anche perchè mi dava spesso errore quando cercavo di farlo girare)

tutto è possibile, ma se le pagine vanno a scrivere da un'altra parte, allora il problema è nella stringa di connessione. fattela semplicemente scrivere a video in una pagina, per esser certi che sia quella che hai incollato qui.
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
65 messaggi dal 08 aprile 2003
Daniele Bochicchio ha scritto:

tutto è possibile, ma se le pagine vanno a scrivere da un'altra parte, allora il problema è nella stringa di connessione. fattela semplicemente scrivere a video in una pagina, per esser certi che sia quella che hai incollato qui.
.


Ecco la stringa stampata con l'istruzione:
Response.Write(ConfigurationManager.ConnectionStrings("SqlServer").ConnectionString):

data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=C:\Documents and Settings\utente\Documenti\Visual Studio 2005\WebSites\WebSite1\App_Data\aspnetdb.mdf;User Instance=true


Dunque punta al DB in App_Data ma se lo apro con Management studio i dati non ci sono!!
E' possibile che l'istanza .\SQLEXPRESS sia configurata male? E dunque non sia l'applicazione a scrivere nel DB sbagliato ma il management studio a leggere un altro DB?

Non riesco a capire...
Modificato da ciscos il 20 febbraio 2010 01.04 -
65 messaggi dal 08 aprile 2003
Sono riuscito a trovare il db dove vengono salvati i dati.
Si trova in una directory di un altro progetto(l'ho scoperto vedendo la data di ultima modifica del file), ma non riesco a capire come possa essere possibile se la connectionString punta al db nella directory che ho scritto prima!

Inoltre con SQL management studio non riesco ad aprire i file mdf che si trovano in percorsi diversi da quello data di SQL Server! Mi continua a dire che il percorso non esiste.

Non so più cosa pensare..
65 messaggi dal 08 aprile 2003
Ho risolto l'arcano.

Non era la connection string as essere sbagliata ma era Sql Server Studio Management che non so per quale motivo non leggeva le informazioni esatte dal DB.
Ho cancellato la connessione, l'ho ricreata e adesso funziona tutto!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.