Newsgroup: it.comp.lang.visual-basic
Titolo: VB6sp5, MSDE e 2 pc in rete

ho installato MSDE sul pc che deve contenere il database (nomepc: MASTER)
quando cerco di connettermi dal pc secondario (nomepc: SLAVE) ricevo un errore:
Impossibile eseguire l'accesso per l'utente MASTER\Guest
--
che vuol dire questo messaggio?
perchè cerca di connettersi come master\guest e non come slave\utente ?
la stringa di connessione è:
strCnn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=" & MIniCat & ";Data Source=" &
MDatSou
sul pc che ha msde in locale funziona.
devo installare msde anche sull'altro pc? come si procede?

 Impossibile eseguire l'accesso per l'utente MASTER\Guest
Stai usando l'autenticazione NT.
Attiva l'autenticazione Sql-Server, così puoi inserire un userid e una
password.
Oppure, prima ti autentichi da Slave a Master come Admin, e poi potrai
accedere come sa (però accedere come sa è sempre male...)
Ciao
Alberto

 accedere come sa (però accedere come sa è sempre male...)
:)

 :)
Se non hai capito le cose precedenti, come puoi aver capito il mio commento
sull'autenticazione 'sa'?
Ciao
Alberto

 commento sull'autenticazione 'sa'?
1...2....3.....
sa........sa.......sa.....
Prova.....
intendevi questo vero?
:-D
--
Il Wodkino Nazionale č a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Quotefix e altro:
http://www.martek.it/go.asp?portamia=4
Usr: ICLVB Pw: amici

 Beh, non posso certo spiegarti come funziona un sistema NT.
perchè no? qualke dritta?
la situazione attuale:
un portatile w2k che si connette ad un dominio su un server w2k e il db lo vedo
2 pc che si connettono tra di loro tramite gruppo e le connessioni tra di loro avvengono come guest.
ho disabilitato pure l'account guest..
tra le sessioni attive vedo sempre l'utente di un pc connesso sull'altro come guest.
cambio ng? mi sa che sto andando fuori tema.. qui vb centra poco.

 perchè no? qualke dritta?
Il punto è che tu hai scelto di utilizzare un tipo di autenticazione che fa
riferimento alle autenticazioni di dominio NT.
E' stata una tua scelta. Io non la critico, ha tanti vantaggi, anche se io
non la utilizzo.
Però, prima di fare una cosa del genere, non sarebbe male capire qualcosa
dell'argomento NT.
Allora, tornando all'inizio: ti ho suggerito di lasciar perdere
l'autenticazione NT, e di usare quella Sql-Server. Quantomeno, intanto ti
connetti, poi ti sleghi completamente dalle problematiche NT.
Invece, mi chiedi di spiegarti cose che richiedono ben più di un post, e che
comunque puoi trovare sull'help di qualunque Nt.
Last but not least: prima di sviluppare roba che gira su un determinato
sistema operativo, occorre conoscerlo quantomeno bene, non dico benissimo.
Le domande che poni sono da neofita di NT, per cui ritengo che ti possa far
comodo un piccolo corso sui sistemi Nt, o qualche surfata su qualche Ng
sull'argomento.
Ciao
Alberto

mi allaccio un attimo: il tipo di autenticazione viene chiesta in fase di
setup di msde, sbaglio?
come si fa a cambiare in un secondo momento?
non solo: msde non ha interfaccia utente, come è possibile cambiare questa
cosa?
tra l'altro, anche io uso sempre l'autenticazione sql-server based, e non
quella NT.......
good coding!!!
-- 
Damiani Liborio Igor
ig...@igordamiani.it
 - 
soft...@igordamiani.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262

 questa cosa?
Ad esempio con il dbamanager di Montanari (cerca su google).
Oppure con la consolle a caratteri osql, fornita con MSDE.
Ciao
Alberto

utenti con una certa discrezione.
qui vedo:
utenti: dbo
autorizzazioni dbo: public, db_owner
dunque dbo mi sembra un utente
forse nella risp ti sei confuso con db_owner. quello è un ruolo.

 forse nella risp ti sei confuso con db_owner. quello è un ruolo.
In realtà in Sql-Server quelle che sono le credenziali di accesso (cioè User
e Password) si chiamano Login.
In italiano, spesso diciamo Utente, ma non è corretto, in quanto User o
Utente è in realtà una impersonificazione del Login in un database.
Dbo è un utente predefinito di ciascun database, ma anche altri utenti
possono avere il ruolo db_owner (ossia agire come se fossero essi stessi
dbo), purchè ciò sia concesso dall'amministratore.
Come ultimo step, ad ogni Login si associa un utente per ciascun database.
Ad esempio, se io sono il Login Alberto, posso entrare sul database PippoDB
come utente Albertone, il quale, se ha il ruolo db_Owner, può agire come se
fosse dbo.
Alla fine della catena, io, Alberto, impersonifico dbo in PippoDB.
Ma con un po' di attenzione, perchè se, ad esempio, creo una nuova tabella,
essa sarà PippoDB.Albertone.Tabella, a meno che io non espliciti nel Create
che la tabella sarà di dbo, usando la sintassi PippoDB.dbo.Tabella
Però, non è che dbo sia un Login, ossia non puoi autenticarti come user=dbo
e password=tuapassword (forse si potrà anche, ma non è certo predefinito).
Ciao
Alberto

qua consigliano di lasciare l'autenticazione a windows:
http://www.html.it/sicurezza_sql/sql_10.htm
che pomeriggio da schifo.
in pratica non ho concluso nulla :(


Come ho già detto, l'autenticazione NT per Sql-Server ha dei vantaggi.
Però, bisogna quantomeno sapere cosa sia una autenticazione di dominio,
altrimenti si diventa matti per niente.
Basti pensare che l'autenticazione Nt può permetterti di accedere, se prima
di accedere hai navigato col gestione risorse nella rete locale andando in
certe condivisioni, mentre prima no, ecc...
Cose, queste, del tutto ovvie per chi sa cosa sia una autenticazione in NT
(non l'autenticazione NT per Sql-Server, ma proprio l'autenticazione di NT),
ma sicuramente un po' nebulose per gli altri.
Visto che tu non ne hai la più pallida idea, stando a quanto dici, ti ho
consigliato di usare l'autenticazione Sql-server, che ti slega da tutte le
problematiche NT.
Ed è tuttora il mio consiglio.
ciao
Alberto

 altrimenti si diventa matti per niente.
il dominio non centra un piffero visto che trattasi di gruppo.
Ho trovato cos'era a causarmi il problema.
Un settaggio di xp.
Riporto qui il pezzo della guida che tratta della PICCOLISSIMA diversità su come vengono trattati gli utenti:
--
Accesso di rete: modello di condivisione e protezione per gli account localiConfigurazione computer\Impostazioni di
Windows\Impostazioni protezione\Criteri locali\Opzioni di protezione
Descrizione
Determina le modalità di autenticazione degli accessi di rete che utilizzano gli account locali. Se questo criterio è impostato su
Classic, gli accessi di rete che utilizzano le credenziali degli account locali vengono autenticati utilizzando tali credenziali. Se
questo criterio è impostato su Guest only, gli accessi di rete che utilizzano gli account locali vengono mappati automaticamente
all'account Guest. Il modello Classic consente di controllare in modo preciso l'accesso alle risorse. Utilizzando questo modello è
possibile concedere diversi tipi di accesso a utenti diversi per la stessa risorsa. Se si utilizza il modello Guest only tutti gli
utenti verranno autenticati come Guest e riceveranno lo stesso livello di accesso a una determinata risorsa, ovvero Sola lettura o
Modifica.
Sono disponibili due modelli:
Classic: gli utenti locali vengono autenticati in base alle relative credenziali.
Guest only: gli utenti locali vengono autenticati come Guest.
Impostazione predefinita: Guest only in Windows XP Professional.
 Note
Questa impostazione non ha effetto sugli accessi di rete che utilizzano gli account di dominio.
Questa impostazione non ha effetto sugli accessi interattivi eseguiti in remoto utilizzando servizi quali Telnet o Servizi terminal.
Quando il computer non è incluso in un dominio, questa impostazione modifica inoltre le schede Condivisione e Protezione di Esplora
risorse in modo che corrispondano al modello di condivisione e protezione in uso.
 Attenzione
Se si utilizza il modello Guest only, gli utenti che possono accedere al computer tramite la rete, inclusi gli utenti anonimi di
Internet, potranno accedere anche alle risorse condivise. È necessario proteggere il computer da accessi non autorizzati utilizzando
Firewall connessione Internet (ICF) o altri dispositivi equivalenti. In modo analogo, se si utilizza il modello Classic è necessario
proteggere gli account locali tramite password. In caso contrario, tali account potranno essere utilizzati da tutti gli utenti che
hanno accesso alle risorse condivise del sistema.
Questo criterio non viene applicato nei sistemi Windows 2000.

> autenticazione di dominio
Comunque l'importante è che tu ci sia saltato fuori.
Ciao
Alberto

 >> autenticazione di dominio
ed allora vedi che non mi segui?
i 2 pc con wx non stanno nel dominio!
L'ho specificato + volte :))
Certo che quell'impostazione ha rotto non poco.
Ora funziona tutto.
c'ho un piccolo problemino con i dati e il programma s'inchioda su una tabella :))
vabbè ora sono i soliti problemi di programmazione risolvibili...
grazie della pazienza.

 vabbè ora sono i soliti problemi di programmazione risolvibili...
Potrebbero anche essere questioni di autenticazione.
Se la tabella su cui hai problemi è stata creata a runtime, la sintassi che
ti avevo postato è fondamentale.
Ciao
Alberto

 Potrebbero anche essere questioni di autenticazione.
no :)) tipo di dati errato... cercavo di salvare un null dove non ci dovrebbe stare.
c'ho parecchie cose da sistemare.

 mi stai dicendo che gruppo = dominio o non ci stiamo capendo?
Dimentica il gruppo.
Non ha niente a che vedere con l'autenticazione.
Parliamo di dominio.
Tu hai una Lan.
Questa Lan ha un server che gestisce l'autenticazione di dominio,
chiamiamolo Dominio_A.
In questa Lan, tu inserisci una macchina NT, chiamiamola Macchina_B.
Macchina_B è un dominio, come qualunque macchina NT.
Se vuoi, tu puoi dire a Macchina_B di basare la propria autenticazione su
Dominio_A, e in questo caso si dice che Macchina_B è nel dominio Dominio_A.
Ma, diciamo che invece tu non voglia inserire Macchina_B in Dominio_A.
A questo punto, il dominio su cui ti devi basare, per autenticarti sulla
macchina Macchina_B, è appunto il dominio Macchina_B.
Del resto, basta guardare il primo errore che ti dava:
"MASTER\Guest".
Questo indicava che chi tentava di accedere, non essendo autenticato nel
dominio Master, veniva trattato come utente Guest del dominio MASTER, e
siccome MSDE non ti accettava i Guest, eccoti fregato.
Sarebbe bastato effettuare una autenticazione da SLAVE su MASTER come
MASTER/<Administrator>, e probabilmente saresti entrato.
Ciao
Alberto

 MASTER/<Administrator>, e probabilmente saresti entrato.
Al momento, come descritto nel pezzo tratto dall'help che ho postato, ho impostato di considerare l'autenticazione in modo
"classico".
L'hai letto bene quel mio post?
comunque insisto nel dire che i 2 pc non centrano con la lan e col mio dominio. sono a se stanti.
|| PC1<--->PC2 ||
per quanto riguarda il mio pc di sviluppo, è autenticato regolarmente sul server, la mia rete funziona senza problemi.
per quanto riguarda i 2 pc con xp, impostando "l'autenticazione in modo classico" come descritto nell'articolo, tutto funziona
regolarmente.
grazie della pazienza.

 mio dominio. sono a se stanti.
Appunto.
Non vedo perchè tu debba insistere a dire una cosa su cui siamo d'accordo
fin dall'inizio.
Tu sbagli solamente nel momento in cui sostieni che i PC non sono in un
dominio.
Ogni NT è in un dominio. Sempre. E non puoi impedirlo.
Tutto qua.
Quindi, quando si sceglie l'autenticazione Windows per Sql-Server, bisogna
individuare il dominio in cui il PC si trova. Che sia esso stesso o che sia
in una qualunque Lan con dominio, c'è sempre un dominio.
L'errore iniziale nasceva proprio perchè non avevi chiaro che stavi agendo
dal Dominio SLAVE senza essere correttamente autenticato nel dominio MASTER,
che è quello in cui si trova Sql-Server.
Poi, cambiando la modalità di autenticazione del dominio MASTER, sei
riuscito ad autenticare l'utente SLAVE/Pippo com MASTER/<Administrator>, che
era quello che ti mancava.
Il problema, però, è che a forza di semplificare sempre più il discorso per
venirti incontro, piano piano sto per arrivare a dire della inesattezze...
Ciao
Alberto

 venirti incontro, piano piano sto per arrivare a dire della inesattezze...
ihihih ti sto trascinando nell'oblio :))
grazie di tutto.


purtroppo non e' cosi'....
al fine di poter cambiare l'autenticazione impostata utilizzando Enterprise
Manager ovvero DbaMgr [ grazie Albe =;-)) ] devi gia' poter avere accesso a
SQL Server/MSDE... oSql.exe non e' in grado (direttamente) di effettuare
questa operazione in quanto questi settaggi sono nel registry del server...
si potrebbe utilizzare la stored procedure estesa (e non documentata)
master..xp_regwrite, come da esempi
http://www.mssqlcity.com/FAQ/Devel/xp_regwrite.htm
ma ad ogni modo e' necessario avere una connessione gia' attiva (e
garantita) al server SQL...
diciamo che il modo piu' semplice per farlo e' modificare diretamente il
registry in una sua chiave, come da
http://support.microsoft.com/default.aspx?scid=kb;en-us;285097
i valori da assegnare alla chiave sono
0 = SQL Server authentication
1 = WinNT authentication
2 = Mixed
che, rispondendo alla domanda di Igor, indica anche come parametrizzare
l'installazione di MSDE al fine di garantire un' autenticazione mista (WinNT
+ SQL Server) o solo SQL Server...
saluti
Andrea Montanari
montanar...@virgilio.it
http://www.asql.biz/DbaMgr.shtm
DbaMgr2k ver 0.4.0  -  DbaMgr ver 0.50.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply

 purtroppo non e' cosi'....
chapeau.
Alberto