Creare console application che lavora con sql server 2005

domenica 16 agosto 2009 - 12.18

devilxx84 Profilo | Newbie

Salve a tutti, mi chiamo Alessandro e sono nuovo del forum.

Il mio problema è questo:
Vorrei creare una console application con visual studio 2005, utilizzando c #, che mi permetta di lavorare con un database.

Il procedimento che ho seguito è il seguente:
-Ho aperto visual studio 2005 e ho creato una nuova Console Application "consoleprova"
-Ho aperto Sql Server menagement 2005 express e ho creato un nuovo database "TestData" nel server ALE-5016545BE2F/SQLEXPRESS

-nel main di "consoleprova" ho inserito la stringa di connessione al database:
string source = "server =ALE-5016545BE2F./SQLEXPRESS;" +
"integrated security = SSPI;"+
"database = TestData";
SqlConnection conn = new SqlConnection(Source);
conn.Open();
//codice
conn.Close();

Mi appare questo messaggio di errore:
"Si è verificato un errore mentre si cercava di stabilire una connessione con il server. Quando ci si connette a SQL Server 2005, questo errore potrebbe essere provocato dal fatto che l'SQL Server non ammette connessioni remote sotto le impostazioni predefinite. (provider: Provider Named Pipes, error: 40 - Impossibile aprire una connessione a SQL Server)"

premetto che lavoro in locale, e che le named pipe sono attivate nel sql server configuration manager

come posso risolvere? grazie mille

speedx Profilo | Junior Member

mi pare che tu abbia aggiunto un "." dove non serve... tra il nome del tuo pc e il nome dell'istanza SQL Express.
Prova a mettere solo "./SQLEXPRESS" oppure "local/SQLEXPRESS"
dovrebbe funzionare
//// Marcello C.

lbenaglia Profilo | Guru

>-nel main di "consoleprova" ho inserito la stringa di connessione
>al database:
>string source = "server =ALE-5016545BE2F./SQLEXPRESS;" +
> "integrated security = SSPI;"+
> "database = TestData";

Ciao Alessandro,

Modifica la connection string in questo modo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Inoltre dato che utilizzi la Windows Authentication devi verificare che esista una login in SQL Server mappata all'utente Windows con il quale sei autenticato al sistema, e che tale login sia a sua volta mappata ad uno user account a livello di database con le permission necessarie per accedere agli oggetti presenti nel db.

>premetto che lavoro in locale, e che le named pipe sono attivate
>nel sql server configuration manager
In locale viene automaticamente utilizzato il protocollo Shared Memory, quindi puoi lasciare disabilitati Named Pipes e TCP/IP.

>grazie mille
Prego.

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

devilxx84 Profilo | Newbie

Ho provato a inserire la stringa che mi hai detto te
ma al posto di


string Source = "Data Source=.\SQLEXPRESS;Initial Catalog=TestData;Integrated Security=SSPI;";

ho dovuto mettere la @ dopo = perchè mi dava l 'errore "Unrecognized escape sequence"


in microsoft SQL server Menagement studio express ho cliccato col pulsante destro sul motore di dataBase, ho creato una nuova query con scritto:
USE [TestData];
GO

CREATE USER [Ale] FOR LOGIN [ale-5016545be2f\Ale];
GO

per effettuare il login con il mio nome utente di windows.

Dovevo fare in questo modo?

comunque sembrta funzionare.
dopo conn.Open()
avevo richiesto la stampa di un messaggio e ora lo fà...
grazie mille

lbenaglia Profilo | Guru

>in microsoft SQL server Menagement studio express ho cliccato
>col pulsante destro sul motore di dataBase, ho creato una nuova
>query con scritto:
>USE [TestData];
>GO
>
>CREATE USER [Ale] FOR LOGIN [ale-5016545be2f\Ale];
>GO
>
>per effettuare il login con il mio nome utente di windows.
>
>Dovevo fare in questo modo?
Quel comando ha creato lo user account Ale nel db TestData mappato alla login ale-5016545be2f\Ale a livello di istanza.
Ora dovresti assegnare allo user account Ale le permission necessarie per accedere agli oggetti del db tramite il comando GRANT.

Sui Books Online troverai tutti i dettagli.

>grazie mille
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5