|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
[VB.NET] Problema con SQL e MSDE
Ciao a tutti.
Ho un problema di collegamento via SQL a dei database. La stringa di connessione che uso è la tipica "Data Source=NOMESERVER;Initial Catalog=NOMEDB ;Persist Security Info=True;User ID=NOME;Password=PWD" Se il database si trova sul server SQL, mi collego ovviamente senza problemi. Se però il database si trova su un portatile (su cui è installato MSDE), non riesco a collegarmi (timeout). Ho provato con Microsoft.SqlServer.Management.Smo, se il database è sul mio pc, e quindi posso mettere (local) come NOMESERVER, si collega, ma se provo a sostituirlo col nome di un altro PC siamo daccapo. Ho infine provato con SQLDMO, se provo a caricare la lista dei DB presenti su un pc, me la carica, ma poi non so come eseguire delle query sul DB selezionato. Il codice che ho usato è questo: Quote:
Dove sbaglio? |
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Oct 2003
Messaggi: 126
|
Se intendi che devi accedere ad un'istanza di sql server che risiede su un altro pc della lan devi abilitare le connessioni dall'esterno che per default su msde sono chiuse.
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
Dovrebbero già essere abilitate, perché un'altra applicazione (chiaramente non fatta da me) che faccio girare dal mio pc andando a pescare i dati sul DB che sta su un altro portatile, funziona perfettamente.
Se però è qualcosa che devo settare io dall'applicativo che sto sviluppando, non ho idea di come fare. (grazie mille per l'aiuto, intanto |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2008
Città: Provincia Torino
Messaggi: 760
|
Dico una banalità che però a volte ci si dimentica (proprio ieri collegandomi ad un SQL server 2005 su un portatile ci son cascato), ci son mica dei firewall di mezzo?
__________________
Ho comprato serenamente da: Zio_Igna, gwwmas, andreabarbuscia, marczxc, turbofantasyfan |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
No, perché se provo a lanciare un altro applicativo, che va ad agire sullo stesso DB dell'altro pc, non c'è nessun problema: è questo che non riesco a capire...
Eppure,se io uso una stringa di connessione "normale", con "Data Source=NOMEPC;Initial Catalog=NOMEDB ;Persist Security Info=True;User ID=NOME;Password=PWD", non mi trova il pc... Oltretutto, fino ad avere una lista dei DB presenti sul notebook, ci arrivo, quindi vede il pc che mi interessa, solo che dopo non so come fare ad agire sul db che seleziono! Ultima modifica di Lehendakari : 09-07-2008 alle 14:03. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2008
Città: Provincia Torino
Messaggi: 760
|
E se lanci un ping sul nome o ip del pc dove sta il db ti risponde?
(ammesso che l'altro applicativo che provi sia su un'altro pc ancora, se l'applicativo che funziona è sulla stessa macchina dove c'è il tuo che non funziona la domanda è superflua)
__________________
Ho comprato serenamente da: Zio_Igna, gwwmas, andreabarbuscia, marczxc, turbofantasyfan Ultima modifica di RobyG_08 : 09-07-2008 alle 14:04. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: May 2008
Città: Provincia Torino
Messaggi: 760
|
Quote:
__________________
Ho comprato serenamente da: Zio_Igna, gwwmas, andreabarbuscia, marczxc, turbofantasyfan |
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
Neanche questo, perchè se prendo lo stesso DB e faccio backup e restore sul server centrale (o anche prendendo i file mdf ed ldf e rimpiazzando quelli che ci sono), collegandomi con quell'utente e quella pwd ci accedo senza problemi.
Proprio non riesco a capire perchè se metto nella stringa di connessione Data Source=SERVER funziona, se invece metto Data Source=NOTEBOOK non me lo vede (eppure il nome non è sbagliato, perchè se metto lo stesso nome NOTEBOOK con Microsoft.SqlServer.Management.Smo, il server lo vede) Che ci sia qualche cavolo di riferimento ulteriore da aggiungere? Io inizialmente ho messo solo System.Data.SqlClient pensando che bastasse sostituire il nome del server, poi ho provato con Microsoft.SqlServer.Management.Smo ed infine con SQLDMO (non avendo mai dovuto gestire un collegamento del genere, può essere benissimo che sia una cavolata del genere...) |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2008
Città: Provincia Torino
Messaggi: 760
|
Usi visual studio come ambiente di sviluppo?
__________________
Ho comprato serenamente da: Zio_Igna, gwwmas, andreabarbuscia, marczxc, turbofantasyfan |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
Sì, il 2005 Pro
(grazie per l'interessamento |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: May 2008
Città: Provincia Torino
Messaggi: 760
|
E dalla finestra Esplora Server riesci ad aggiungere una connessione a quel DB con gli stessi dati che usi nella stringa di connessione?
(figurati è un piacere!
__________________
Ho comprato serenamente da: Zio_Igna, gwwmas, andreabarbuscia, marczxc, turbofantasyfan |
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
No, non mi fa neanche vedere il pc dalla tendina.
Eppure se io nel form creo una listbox e la faccio riempire con l'elenco dei pc attivi che ottengo con SmoApplication.EnumAvailableSqlServers, il pc c'è. |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: May 2008
Città: Provincia Torino
Messaggi: 760
|
Guarda, io ho sempre usato l'SqlClient per connessioni a sql server, però mi vien ragionevolmente da dire che se manco da esplora server riesci a connetterti, è più un problema "sistemistico" che applicativo
__________________
Ho comprato serenamente da: Zio_Igna, gwwmas, andreabarbuscia, marczxc, turbofantasyfan |
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
Ok, grazie mille!!!
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1085
|
Controlla questi punti:
1) Firewall: in tal caso puoi anzitutto vedere su quale porta è in ascolto SQL SERVER e quindi aprire tale porta sul FIREWALL 2) Protocollo TCP non abilitato in SQL-SERVER_ abilitare il protocollo N.B.: per testare entrambi i punti 1 e 2 usa l'utility SRVNETCN.EXE che normalmente viene installata nella cartella C:\Programmi\Microsoft SQL Server\80\Tools\Binn 3) problemi di risoluzione dei nomi :dalla macchina client prova a connetterti direttamente all'indirizzo ip xxx.yyy.zzz del server di database e vedi se riesci a connetterti. Tienici aggiornai
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond |
|
|
|
|
|
#16 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
Macché, il pc lo pingo senza problemi, e il protocollo TCP è abilitato...
La cosa stranissima è che l'applicativo che funziona (realizzato però in ambiente visual studio 2003) usa la stessa stringa di connessione SQL che cerco di usare io!!! Boh, o c'è qualche riferimento che mi manca, o non so proprio che cavolo pensare!! |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1085
|
sei sicuro che sia installata solo una ed una sola istanza di MSDE su quel portatile??
Può essere che l'applicazione sviluppata in 2003 stia puntando su un'istanza che non è quella predefinita?? <per vedere le istanze: c:\programmi\microsoft sql server e dovresti trovare due cartelle 80 e MSSQL>
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond |
|
|
|
|
|
#18 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
Ok, grazie mille, domattina provo a controllare, perché adesso è (per fortuna) ora di andare!
Buona serata!!! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:27.




















