Errore in fase di esecuzione

venerdì 07 luglio 2006 - 15.27

Shadow Profilo | Junior Member

Buongiorno.
Ho seguito TUTTI i consigli che mi avete dato (grazie anche a chi ha risposto ai miei precedenti post) nel tentativo di distribuzione della mia win application con Sql Server 2005 Express. Finalmente tutto sul mio pc gira perfettamente; creo con click once un progetto di distribuzione che installa correttamente .net framework, Sql Server 2005 Express, tutte le risorse necessarie ma al momento di installare ed eseguire la mia applicazione genera l'errore che (stavolta per la massima precisione) vi allego come screenshot. Vi prego di sapermi dire da cosa dipende, perché mi sa che stavolta siamo davvero vicini alla soluzione! Grazie di nuovo a chi mi ha aiutato in precedenza, e buona giornata a tutti.
Shadow

lbenaglia Profilo | Guru

> creo con click once un progetto
>di distribuzione che installa correttamente .net framework, Sql
>Server 2005 Express, tutte le risorse necessarie ma al momento
>di installare ed eseguire la mia applicazione genera l'errore
>che (stavolta per la massima precisione) vi allego come screenshot.

Ciao Shadow,

non ho capito una cosa: la tua applicazione e SQL Server 2005 Express sono installati sulla stessa macchina?
Che modalità di autenticazione stai utilizzando?

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Shadow Profilo | Junior Member

Grazie per la risposta, ora ti spiego in modo dettagliatissimo cosa ho fatto. Sulla mia macchina ho VS 2005 Professional, Sql Server 2005 Developer Edition (facente parte del suddetto pacchetto) ed in più, grazie alle preziose indicazioni di Axl che colgo l'occasione per ringraziare, sono riuscito a installare correttamente anche Sql Server 2005 Express. Tutto su Win XP Pro con Service Pack 2.

Ho creato un banalissimo programma: piccola rubrica telefonica in VB 2005 associata ad un database creto con Sql Server 2005 Express (quindi il mio software sfrutta il motore Express). Ho creato semplicemente un progetto di installazione con la procedura guidata click once senza impostare nulla, né compiere altra azione che non sia dirgli le risorse da includere (framework, Sql Express ecc).

Ho provato tale progetto su una macchina con Win XP Home e Service Pack 2; ho notato che sono stati correttamente installati TUTTI i prerequisiti (in particolare framework e motore database) ma poi al momento di installare ed eseguire la mia applicazione leggevo l'errore la cui schermata ti ho allegato nel primo post.

Ho forse omesso qualche operazione importante? Dovevo fare qualcos'altro oltre a quanto ti ho scritto (ribadisco, non ho eseguito nessun'altra operazione)? Grazie in anticipo per la tua risposta.
Shadow

NB: Si, sulla macchina destinataria viene installato prima anche Sql Server 2005 Express. Sto utilizzando 'autenticazione Windows'. Spero di averti dato le informazioni necessarie, diversamente fammi sapere!

lbenaglia Profilo | Guru

>NB: Si, sulla macchina destinataria viene installato prima anche
>Sql Server 2005 Express. Sto utilizzando 'autenticazione Windows'.

Apri una shell dos e scrivi:

C:\>sqlcmd -Q "SELECT @@VERSION" -E -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ------------------------------------------------------------ Microsoft SQL Server 2005 - 9.00.2153.00 (Intel X86) May 8 2006 22:41:28 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2) (1 rows affected) C:\>

Se ti appare "qualcosa di simile" significa che SQL Server 2005 Express è stato installato correttamente.
Posta la tua connection string.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Shadow Profilo | Junior Member

Mi sa che siamo vicini alla soluzione, grazie per le tue risposte davvero dettagliate e miratissime.

1) Sql Server Express è correttamente installato, vedo infatti la stringa da te postata.

2) La stringa di connessione (ecco forse il problema!) è la stessa che c'era sul mio pc, non contiene riferimenti al nome del server del pc destinatario!! (E' anche indicato 'Shadow', come potrai vedere). Eccotela:
<connectionStrings>
<add name="Rubrica.My.MySettings.RubricaConnectionString" connectionString="Data Source=SHADOW-NSEW9A\SQLEXPRESS;Initial Catalog=Rubrica;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>

3) Per completezza di informazioni, non so se ti serve ma già che mi trovo ti do anche un paio di ulteriori dettagli: ti dico cioé nel dettaglio come ho eseguito la connessione al database durante il progetto. a) origini dati -> aggiungi nuova origine dati -> database -> nuova connessione -> in origine dati ho lasciato, senza modificare, 'Microsoft SQL Server (SqlClient)', poi in nome server ho inserito 'SHADOW-NSEW9A\SQLEXPRESS', quindi ho scelto 'usa autenticazione di Windows (nota bene, non ho scelto 'autenticazione di Sql Server'), quindi su Connessione al database ho scelto 'seleziona o immetti nome di database' (nota bene, non ho scelto 'connetti file di database') e dal menù a discesa mi è comparso correttamente il database che avevo appena creato con Sql Server Management Studio (usando tuttavia la connessione al server Sql Server 2005 Express). Quindi, il programma ha funzionato, ho generato la release e quindi creato il progetto di installazione clickonce.

Grazie ancora per il tuo interessamento, mi stai aiutando ad uscire da una situazione davvero intricata!! Creare un progetto di distribuzione per una banale ribrica telefonica sembrava una cosa così semplice, ma per qualche 'cavolata' che evidentemente mi sfugge sta diventando un labirinto!!
Shadow

lbenaglia Profilo | Guru

>1) Sql Server Express è correttamente installato, vedo infatti
>la stringa da te postata.
Bene.

>2) La stringa di connessione (ecco forse il problema!) è la stessa
>che c'era sul mio pc, non contiene riferimenti al nome del server
>del pc destinatario!! (E' anche indicato 'Shadow', come potrai
>vedere). Eccotela:
> <connectionStrings>
><add name="Rubrica.My.MySettings.RubricaConnectionString"
>connectionString="Data Source=SHADOW-NSEW9A\SQLEXPRESS;Initial
>Catalog=Rubrica;Integrated Security=True"
> providerName="System.Data.SqlClient" />
> </connectionStrings>
Il problema è proprio questo. Il computer di destinazione avrà un nome netbios sicuramente differente rispetto a quello di sviluppo. Dato che SQL Server e la tua rubrica gireranno sulla medesima macchina, non hai bisogno di parametrizzare il programma di setup ma sarà sufficiente utilizzare il punto "." per identificare il server locale.
Quindi riassumendo la tua connection string diventerà:

<connectionStrings> <add name="Rubrica.My.MySettings.RubricaConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Rubrica;Integrated Security=SSPI" providerName="System.Data.SqlClient" /> </connectionStrings>

>Grazie ancora per il tuo interessamento, mi stai aiutando ad
>uscire da una situazione davvero intricata!! Creare un progetto
>di distribuzione per una banale ribrica telefonica sembrava una
>cosa così semplice, ma per qualche 'cavolata' che evidentemente
>mi sfugge sta diventando un labirinto!!
Confermo che è una cavolata anche se non l'ho mai fatto.
La colpa è dei Dev che vogliono fare i DBA a tutti i costi.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Shadow Profilo | Junior Member

Ho modificato la stringa di connessione come mi hai detto. Domani la provo sull'altro PC. Erano giornate intere che non ne venivo fuori; se domani tutto funziona avrai una statua d'oro in mezzo al Colosseo!! Grazie infinite per il tuo preziosissimo aiuto e a domani.


Shadow

Shadow Profilo | Junior Member

NON SO DAVVERO COME RINGRAZIARTI!!

Hai risolto un problema che non riuscivo a superare da tempo; ma la cosa più frustrante è che non ho trovato nemmeno libri di testo sulle tecniche di programmi di installazione con database. Se non fosse stato per te non so come avrei fatto; a volte, quando sono in difficoltà mi documento su libri di testo ma nemmeno Ado 2.0 Step By Step mi ha spiegato il sistema che hai detto tu. Nel settore dei database sei stato il mio maggior riferimento, ora tutto funziona. Adesso posterò qualche altro quesito, così supererò questo piccolo scoglio che mi ha impedito di proseguire lo studio di alcuni testi che avevo comprato sull'argomento e potrò finalmente andare avanti. Grazie ancora tantissimo.
Shadow
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