Newsgroup: it.comp.lang.visual-basic
Titolo: Re: Percorso di rete SQL Server Express

 Robin
Ma scusa,
non è più semplice che il db te lo crei nel server (senza e poi usi la 
stringa di connessione:
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
dove indichi il nome del db anzichè l'attach del file mdf?
ciao
stefano

 stefano
Ciao Stefano, scusami ma non mi è molto chiaro. Ho provato decine di 
strconnection ma nessuna va. Ti dispiace se proviamo a unzippare?
Allora, intanto preciso: il DB fisicamente sta su un server (diciamo 
server ma in realtà è una rete wireless con modem router)(ma cmq Tieni 
conto che con access funziona abbastanza bene) Io mi collego al server 
tramite un portatile con XP Prof.
Nel Server il Db sta in C:\Programmi\Risto2008\Dati\Risto2008.mdf
L'utente del server (quello che accede dall stesso pc non tramite rete) 
si chiama Robin e la password bè.... :-) diciamo che adesso non ce n'è 
nessuna, ma posso mettere MiaPassword, e il server si chiama by-tsh. Con 
l'altro pc mi voglio connettere a questo server e l'utente è Rob con 
password Robocop.
Allora:
CN.COnnectionstring =
1) "Provider==SQLNCLI;" (OK)
2) "Server=myServerAddress" (myServerAddress cosa è?:  by-tsh?) quindi 
come dovrei scrivere? "Server=by-tsh"? Ho provato e così nn va. Ho anche 
provato "Server=\\by-tsh" così cerca qualcosa ma aal fine mi da errore 
3265 e nn si connette.
3)"Database=myDataBase;" (Ho provato con: Database=Risto2008.mdf; e non va)
4)Uid=myUsername;Pwd=myPassword; questi sono quelli del server? O quelli 
del client? Quali ID e PWD dvo utilizzare?
Scusa la mia ignoranza, ma le ho provate di tutti i colori, numerose 
stringhe, e nessuna si connette.
Grazie comunque.
Robin

 stringhe, e nessuna si connette.
Uid=myUsername;Pwd=myPassword;
identificano una login standard SQL Server che deve essere gia' presente e 
registrata su SQL Server e non login di Windows..
saluti
-- 
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz
 
http://italy.mvps.org
DbaMgr2k ver 0.21.0 - DbaMgr ver 0.65.0 and further SQL Tools
--------- remove DMO to reply 

Non è che SQL Server Express non è abilitato a connettersi in rete?
Inoltre, nel citare il database, ti riferisci sempre al file fisico.
Domanda: Sul server è installato sql express? e se sì, chi lavora in
locale sul server riesce a connettersi al database?
Mi sembra infatti di capire che tu voglia fare esattamente come con
Access/Jet, e cioè mettere il file fisico da qualche parte in rete e
poi connetterti ad esso da un'altra macchina.
In altre parole, staresti provando ad attaccare via UNC il file fisico
(.mdf) che sta sul server all'istanza Sql server che gira su un'altra
macchina (il notebook).
Se così fosse, saresti sulla strada sbagliata.
Se così non è, come non detto.

 Se cosě non č, come non detto.
E' Cosě. ma allora sono bloccato perchč non riesco a capire come far 
vedere il MioDb.mdf al client.
Grazie.
Robin

vedere il MioDb.mdf al client.
Dunque, concettualmente:
SQL Express *è* Sql Server, con tutte le implicazioni del caso.
Significa che di default non supporta l'hosting di database che
risiedono in percorsi di rete.
E' sì possibile modificare le impostazioni i default (vedasi il trace
flag 1807), ma questo ha senso solo in architetture di rete
particolari, tipo SAN.
Diversamente, si perde sia in prestazioni che in sicurezza (e cioè i
motivi principali per cui si sceglie di adottare Sql express).
E' necessario pertanto che il db risieda canonicamente sulla stessa
macchina su cui gira il motore di database. In questo modo si chiede
al motore stesso di poter accedere al db. 
Di norma, il database deve essere installato ma, nel caso
di Sql express, è possibile chiedere direttamente al motore di
attaccarsi a un dato file di volta in volta (la novità è
essenzialmente questa).
Quindi, si pone il problema di configurare opportunamente Sql express.
A tale scopo, è necessario scaricare e installare Microsoft SQL Server
Management Studio Express (se non è già stato fatto)  e leggersi un
minimo di documentazione.
Il link è il seguente:
http://snipurl.com/1qkue
Poi cerca e scarica anche SSEUtil.exe
Infine, cerca di applicare i consigli di Montanari e Bastianello.
Saluti
 

 NomeComputer è il nome del pc, ossia by-tsh
Non so bene se sqlexpress accetta connessioni dalla rete (detto in modo
semplice, leggendo i post di chi ti risponde sembra di leggere la bibbia ma
la risposta "sì, si può"/"no, non si può" è incomprensibile).
Ma prova con queste connectionstring (ovviamente quelle del tipo di provider
che si tu), in particolare con la Trusted Connection:
http://www.connectionstrings.com/?carrier=sqlserver2005
Ciao

che si tu), in particolare con la Trusted Connection:
Per quanto mi riguarda, nessuna bibbia....anzi, visto che la cosa
poteva interessarmi, ho colto l'occasione anch'io e ho cominciato a
cercare info in rete e sperimentare (servisse mai...).
Come hai avuto certamente modo di notare, il problema non era in prima
battuta la stringa di connessione, ma l'approccio sbagliato al
problema. Quindi c'era bisogno di chiarire questo, innanzitutto.
Una volta capito che non bisogna puntare il file fisico (con una
istanza remota, per giunta) ma chiedere piuttosto al motore di
database di compiere questa azione sul file (che deve risiedere sulla
stessa macchina del motore stesso), il seguito viene di conseguenza.
Da lì ad acquisire quelle informazioni che mancano, non ci vuole molto
(l'ho fatto anch'io man mano). 
Che poi sqlexpress accettasse connessioni dalla rete, l'avevo dato per
scontato, visto che di esempi che ne sono tanti in giro.
Mi sorprende piuttosto che proprio tu abbia un dubbio del genere ;()
Del resto, è sufficiente  andare in  "Configurazione superficie di
attacco di SQL Server" (che brutta traduzione), per accorgersi che di
default il server non accetta connessioni remote. E' solo da cliccare
un option button per abilitarlo, scegliendo l'opzione che fa al caso
tuo (nel caso dell'OP, credo che sia sufficiente solo la named pipe).
L'unico altro accorgimento è assicurarsi che sul client sia installato
SQL Native client. E anche qui ci vuole poco a capirlo e scaricarselo.
Dopodichè si provano le stringhe di connessione. Alcuni dettagli li
aveva già chiariti Montanari. Se c'è comunicazione e il server è
abilitato, dovrebbe funzionare al primo colpo.
Altrimenti, si prova, si riportano gli eventuali messaggi di errore e
si torna a chiedere. L'OP del resto non è mica stato molto chiaro nel
descrivere la sua configurazione di rete...
Ciao

 Ciao
Ciao e grazie lo stesso.

nessun wizard su SQL Server Management Studio Express.
Scusa, ma io davo per scontato che, una volta installato SQL server,
tu avessi buttato l'occhio a:
Microsoft SQL Server 2005 -> Strumenti di configurazione ->
Configurazione superficie di attacco di SQL Server ->
 ..per Servizi e Connessioni. 
Una volta dentro, si capisce a colpo cosa devi abilitare.
Aggiungo che bisogna anche abilitare il servizio SQL browser.
Non so se tu lo abbia già fatto, ma da come parli parrebbe di no!
SQL Server Management Studio Express è un tool aggiuntivo che ti
consente di gestire *i* databases che hai installato.
Ciao

 nessun wizard su SQL Server Management Studio Express.
un utente "trusted" non si configura.. nel senso, un "utente trusted" non e' 
altro che una login di dominio ovvero della macchina fisica (tipo 
BUILTIN\Users nel caso di un gruppo, come anche Macchina\Utente nel caso di 
una login di macchina) che va autorizzato alla connessione.. il pulsantino 
"search" nel dialogo di "New login" permette di navigare gli "oggetti" di 
tipo login o gruppo disponibili..
se ad esempio, brutalmente, scrivi "nomemacchina\administrator" e selezioni 
il button "check names", terra' validato quello che hai scritto e, in questo 
caso specifico, il tutto verra' "sottolineato".. la navigazione in effetti 
non e' "eccezionale", ma comunque possibile..
