Riferimento a un oggetto non impostato su un'istanza di oggetto quando...

venerdì 14 settembre 2012 - 18.43
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  SQL Server 2008

Gemini Profilo | Expert

Ciao a tutti
ho caricato su un server in sito che utilizza sql server.
Ogni volta che provo ad eseguire un'istruzione che accede al db(Es. meObjCmd = Me.SQLConnessione.CreateCommand )
ricevo questo errore:
Errore server nell'applicazione '/'.
Riferimento a un oggetto non impostato su un'istanza di oggetto.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere la traccia dello stack.

Dettagli eccezione: System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.

Errore nel codice sorgente:

Durante l'esecuzione della richiesta Web corrente è stata generata un'eccezione non gestita. Per informazioni sull'origine e la posizione dell'eccezione, vedere la traccia dello stack dell'eccezione riportata di seguito.

Traccia dello stack:


[NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.]
MenuMaster.Page_Init(Object sender, EventArgs e) +22
System.Web.UI.Control.OnInit(EventArgs e) +91
System.Web.UI.UserControl.OnInit(EventArgs e) +83
System.Web.UI.Control.InitRecursive(Control namingContainer) +140
System.Web.UI.Control.InitRecursive(Control namingContainer) +311
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +480


Informazioni di versione: Versione di Microsoft .NET Framework:4.0.30319; Versione di ASP.NET:4.0.30319.272

Non capisco perchè.
Grazie mille

dupperelko Profilo | Junior Member

Ciao,
a sql server occorre una stringa corretta per accedere... probabilmente masterpage monta un menu, o altro, che ha bisogno di Sql e non ha i permessi..
controlla i permessi per quell'utente e la stringa... le cause possono essere diverse..

ciao

alx_81 Profilo | Guru

>Ciao a tutti
Ciao

>Non capisco perchè.
Sei andato in debug a controllare il popolamento degli oggetti che usi in quella pagina?
Quando ottieni un null pointer, l'oggetto che stai usando è "nullo" appunto, e devi scoprire il perchè.
Potrebbe essere anche la stringa di connessione sì, ma anche altre cose, e solo un buon debug può aiutarti a capire il motivo.

>Grazie mille
di nulla!

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Gemini Profilo | Expert

Ciao
forse avete ragione, potrebbe essere la stringa di connessione. Solo che è la prima volta che mi ritrovo a caricare un sito che utilizza sql server su un server e ho inserito nel web.config una stringa di connessione che ho trovato sul sito dell'azienda che mi offre il servizio e non so se è esatta.
Qual'è la stringa di connessione da utilizzare?

Non posso provare in debug il sito perchè il problema è sul server e non in locale.
Grazie mille

alx_81 Profilo | Guru

>Ciao
>forse avete ragione, potrebbe essere la stringa di connessione.
>Solo che è la prima volta che mi ritrovo a caricare un sito che
>utilizza sql server su un server e ho inserito nel web.config
>una stringa di connessione che ho trovato sul sito dell'azienda
>che mi offre il servizio e non so se è esatta.
>Qual'è la stringa di connessione da utilizzare?
Leggi qui, è un sito molto comodo:
http://www.connectionstrings.com/sql-server-2008

però non so, dipende come è fatto il tuo sito. Considera che poi basta che guardi il web.config (o un file di config). Spero che non abbiano cablato la connstring dentro al codice.

>Non posso provare in debug il sito perchè il problema è sul server e non in locale.
Quindi non hai una versione di sviluppo??

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Gemini Profilo | Expert

Ciao
ho la versione di sviluppo, ma in locale è tutto ok.
Il problema era proprio nella stringa di connessione. Ho usato questa ed ora è ok:
<add connectionString="Server=ipserver;Database=mydb;User ID=myuser;Password=mypsw;Trusted_Connection=False;" name="myname" providerName="System.Data.SqlClient"/>

Domanda da ignorante: che differenza c'è nell'utilizzare come providerName System.Data.SqlClient o nell'utilizzare System.Data.Odbc?
Grazie

alx_81 Profilo | Guru

>Domanda da ignorante: che differenza c'è nell'utilizzare come
>providerName System.Data.SqlClient o nell'utilizzare System.Data.Odbc?
sono due protocolli di comunicazione diversi. Il primo è nativo di sql server (molto più performante e comodo dell'altro) e l'altro è legato ad alcuni dbms che non supportano il SQLClient (o l'oledb).
Fino a che riesci, usa il sqlclient.
Per maggiori info (risposta di Renato):
http://social.msdn.microsoft.com/Forums/it-IT/visualbasicit/thread/cad91a48-465f-48ad-ad2a-833b44996b38
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5