Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Visual Basic 2005 Express e DB MySql Express
lunedì 19 febbraio 2007 - 13.08
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
lun 19 feb 2007 - 13:08
Salve a tutti!
Sono nuovo della Comunity ma non di programmazione (anche se è da poco che mi sono avvicinato al V.B.2005)..
Giungo direttamente al mio problema:
Ho ideato un'applicazione in VISUAL BASIC 2005 EXPRESS che si appoggia a DB MYSQL EXPRESS in locale.
Ho provato a selezionare un DB in LAN ma non funziona, mi da un errore, avvisandomi che il nome del DB non è valido (appunto, nel percorso c'è il percorso di rete...)
Come si fa ad utilizzare un DB che non risiede nella postazione in cui gira l'applicazione?
Ho provato a cercare qualche notizia in più, ma senza alcun risultato.
Ringrazio anticipatamente chi, vorrà o saprà aiutarmi!!
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
lun 19 feb 2007 - 16:45
Purtroppo è una cosa che non mi fa dormire la notte:
Si tratta sicuramente di un errore nella stringa di connessione
Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Documents and
Settings\Administrator\Documenti\dbRemoto.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True
"C:\Documents and
Settings\Administrator\Documenti\dbRemoto.mdf " con cosa lo devo sostituire dato che non mi prende il percorso in lan?
Nella macchina che deve ospitare il file MYSQL deve essere installato MYSQL espress?
Non ci sto capendo più nulla
MarKonE
Profilo
| Guru
2.074
messaggi | Data Invio:
lun 19 feb 2007 - 20:25
Ciao, secondo me stai facendo un po' di confusione..... parli di MySQL ma la stringa di connessione sembra relativa a SQL SERVER EXPRESS.
Quale utilizzi ? Nell'attesa di un tuo chiarimento ti segnalo questo sito :
http://www.connectionstrings.com/
E' molto utile per risolvere eventuali dubbi sulla sintassi per la connessione.
Eventualmente per favore posta l'errore preciso che riscontri...sarà più facile aiutarti.
Ciao!
My Blog...
http://blogs.dotnethell.it/Mark/
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 20 feb 2007 - 09:24
Ciao MarKonE!
Utilizzo SQL EXPRESS, è la mia risposta definitiva :)
Ho sviluppato questa applicazione in Visual Basic 2005 express e SQL EXPRESS.
Il DB praticamente si trova nella cartella di default ma riesco ad utilizzarne qualunque altro che si trovi in locale (cambiando appunto il percorso del file)
E se volessi usare un db che risiede in un altro computer in LAN?
E se volessi usare un db che risiede in un pc di cui conosco l'ip?
Ho provato modificare la connessione,a sfogliare le cartelle, e ad inserire il percorso di rete..ma questo è l'errore che mi riene restituito avviando il test di connessione:
Il file "\\Server\shareddocs\dbRemoto.mdf" è in un percorso di rete non supportato per i file di database.
Impossibile allegare un database a denominazione automatica per il file
\\Server\shareddocs\dbRemoto.mdf. Esiste un database con lo stesso nome oppure il file pecificato non può essere aperto oppure si trova in una condivisione UNC.
Di seguito riporto la finestra di errore che compare.
666x146
24Kb
Devo installare SQL Express nella macchina destinata ad ospitare il db?
Grazie per il tempo dedicatomi
MarKonE
Profilo
| Guru
2.074
messaggi | Data Invio:
mar 20 feb 2007 - 09:39
>Devo installare SQL Express nella macchina destinata ad ospitare
>il db?
Sicuramente
Come ti dicevo vedi questo sito per la sintassi :
http://www.connectionstrings.com/?carrier=sqlserver2005
Vedi la parte relativa a .Net .
Nello specifico :
"Are you using SQL Server 2005 Express? Don't miss the server name syntax Servername\SQLEXPRESS where you substitute Servername with the name of the computer where the SQL Server 2005 Express installation resides."
>Grazie per il tempo dedicatomi
Prova e facci sapere se hai altri problemi .
Ciao!
My Blog...
http://blogs.dotnethell.it/Mark/
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 20 feb 2007 - 09:42
Grazie, mi metto all'opera!
Speriamo bene!
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 20 feb 2007 - 12:23
Ho installato nella macchina Host DB SQL EXPRESS, e fin qui tutto bene.
Ma si ritorna al tasto dolente della stringa di connessione:
Data Source=.\SQLEXPRESS;Integrated Security=True;Connect Timeout=30;User Instance=True
E' quella che mi restituisce di defaul.
Leggendo su ConnectionStrings.com ho capito che dovrei sostituire
Data Source=.\SQLEXPRESS con
Data Source=nomeserver\SQLEXPRESS
ma Visual Basic 2005 EXPRESS non me lo permette
Che sia un limite del programma che utilizzo?(o mio?
)
MarKonE
Profilo
| Guru
2.074
messaggi | Data Invio:
mar 20 feb 2007 - 12:27
Vedi qui :
http://blogs.dotnethell.it/sandro/Abilitare-le-connessioni-remote-in-SQL-Server-2005.__3236.aspx
Così laviamo i panni sporchi in casa
Ciao!
My Blog...
http://blogs.dotnethell.it/Mark/
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 20 feb 2007 - 12:29
MarKonE, sei un tesoro
Guardo subito :D:D
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 20 feb 2007 - 12:40
Fatto tutto ma la storia non cambia.
Il Visual Basic 2005 Express non mi permette di modificare la stringa Data Source.
Data Source=.\SQLEXPRESS;Integrated Security=True;Connect Timeout=30;User Instance=True
a quanto ho capito dovrebbe essere del tipo:
Data Source=nomeserver\SQLEXPRESS;Integrated Security=True;Connect Timeout=30;User Instance=True
ma non me la fa impostare
ecco la finestra di modifica stringa:
302x363
29Kb
MarKonE
Profilo
| Guru
2.074
messaggi | Data Invio:
mar 20 feb 2007 - 13:12
Non puoi modificare la stringa di connessione da codice ?
Eventualmente prova a cercare tra le proprietà del progetto --> impostazioni.
Purtroppo non ho la versione Express dell'IDE quindi non posso fare prove
Ciao
My Blog...
http://blogs.dotnethell.it/Mark/
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 20 feb 2007 - 16:22
Niente, mi sa che comincio ad abbandonare lo sviluppo di questa applicazione
Ho installato Microsoft SQL Express sia nel client che nel server (ho controllato i settaggi di quest'ultimo...), ma non riesco a collegare l'applicazione con il db che risiede in un altro computer nella stanza accanto.
Per la creazione del progetto mi sono affidato a Visual Basic 2005 express che gira su Win XP PRO S.P.2
Il DB invece sta su un Win Server2k3 in LAN.
Ho provato a seguire come riferimenti, le stringhe del sito segnalatomi ma nulla.
Il Visual Basic continua a visualizzarmi sempre quell'errore, e per di più non posso sostituire quel
Data Source=.\SQLEXPRESS
in
Data Source=nomeserver\SQLEXPRESS.
in quanto il programma mi da di default le seguenti stringhe
.\SQLEXPRESS oppure
.\MSSQLEXPRESS
Boh!
MarKonE
Profilo
| Guru
2.074
messaggi | Data Invio:
mar 20 feb 2007 - 16:55
>Niente, mi sa che comincio ad abbandonare lo sviluppo di questa
>applicazione
Giammai
Hai verificato come ti avevo detto .....
In Esplora soluzioni fare doppio clic su Progetto e individuare l'impostazione relativa alla stringa di connessione nella scheda Impostazioni
?
Che impostazioni trovi ? Le puoi modificare ?
Ciao
My Blog...
http://blogs.dotnethell.it/Mark/
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 20 feb 2007 - 17:08
Praticamente è questo quello che vedo:
597x466
37Kb
se clicco su "Visualizza Codice" lo posso modificare.
Attualmente ho riportato la connessione al DB in locale, nello stesso pc in cui gira l'applicazione ma lì non c'è nessuna riga di codice né stringa che faccia riferimento a questa cosa...
Namespace My
'La classe consente la gestione di eventi specifici sulla classe delle impostazioni:
' L'evento SettingChanging viene generato prima della modifica di un valore dell'impostazione.
' L'evento PropertyChanged viene generato dopo la modifica di un valore dell'impostazione.
' L'evento SettingsLoaded viene generato dopo il caricamento dei valori dell'impostazione.
' L'evento SettingsSaving viene generato prima del salvataggio dei valori dell'impostazione.
Partial Friend NotInheritable Class MySettings
End Class
End Namespace
MarKonE
Profilo
| Guru
2.074
messaggi | Data Invio:
mar 20 feb 2007 - 18:33
Ti linko altri due post che potrebbero tornarti utili :
http://www.dotnethell.it/forum/messages.aspx?ThreadID=6394
http://www.dotnethell.it/forum/messages.aspx?ThreadID=6393
Poi vorrei sapere che procedura utilizzi per connetterti al DB...perchè non capisco dove tenti di modificare la famosa connectionstring.
Questo è un altro articolo molto interessante (secondo me
) che riguarda l'accesso ai dati con Vb .Net Express :
http://www.ilsoftware.it/articoli.asp?ID=3219
Puoi prendere spunto ricordandoti che la tua stringa di connessione è differente
Vedi anche qui :
http://msdn2.microsoft.com/it-it/library/ms165732.aspx#
(Cerca "Aggiungi connessione")
L'articolo è riferito a Visual Web Developer 2005 Express ma direi che la parte di accesso ai dati dovrebbe essere molto simile.
Ciao!
My Blog...
http://blogs.dotnethell.it/Mark/
Jumpa
Profilo
| Junior Member
176
messaggi | Data Invio:
mar 20 feb 2007 - 22:12
ma la proprieta connectionstring dell'oggetto SqlConnection a runtime non riesci a modificarla?
tipo che allo start up dell'applicazione ti fai una bella chiamata del tipo
conn.connectionstring = tuaStringadiconnessione
dove conn è l'oggetto SQLConnection
altra cosa ricordati quando installi sql2k5express che per default ha il tcpip disabilitato!
altra cosa ancora verifica bene le permission vedo che usi l'integrated security quindi verifica che l'utente windows sia riconosciuto sul server dove hai il db
spero di esserti stato d'aiuto
cia cia
Jumpa
-------------------------
Follow the White Rabbit...
http://www.jumpa.org
-------------------------
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
mer 21 feb 2007 - 09:32
Notizie dal fronte:
Ragazzi io provo a fare il collegamento seguendo il procedimento descritto nell'articolo
http://www.ilsoftware.it/articoli.asp?ID=3219
solo che non riesco ad utilizzare un db che risiede in un'altra macchina.
ho installato sql2k5express e abilitato il tcp/ip.
VISUAL BASIC 2005 EXPRESS dalla finestra di selezione origine dati, non prende il db ospitato nell'altra macchina: mi da un errore in cui mi viene riferito che il percorso del db non è valido perchè contiene un percorso lan, esiste già, oppure perchè risiede in una condivisione UNC.
e dalla schermata non mi permette di modificare la stringa Data Source
Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Documents and
Settings\Administrator\Documenti\dbRemoto.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True
che a quanto ho letto, e capito dovrebbe essere del tipo:
Data Source=nomeserver\SQLEXPRESS;etc etc etc.
Un'altra dubbio mi perplime:
- devo copiare il db nella macchina ospitante in un percorso ben definito?
(installato sql2k5express)
Non pensavo fosse così complicato trasferire un db da locale a remoto..
Nessuno di voi potrebbe postarmi del codice-esempio di un windows form anche vuoto che si collega ad un db in LAN?
Ve ne sarei veramente grato..
Jumpa
Profilo
| Junior Member
176
messaggi | Data Invio:
mer 21 feb 2007 - 15:02
vedo che fai l'attach "al volo" magari prova a copiarti i file mdf e ldf
fare un attach manuale sul server, e poi cambia la stringa di connessione con una di questo tipo
Data Source=[SERVER]\[NOME_ISTANZA];Initial Catalog=[NOME_DATABASE];User Id=[utente_sql];Password=[password_utente_sql;
SERVER = NOME O IP DEL COMPUTER DOVE RISIEDE IL DB
NOME ISTANZA = TIPICAMENTE SQLEXPRESS MA CI SONO MOLTI CASI IN CUI C'E' L'ISTANZA PREDEFINITA QUINDI PUOI TRALASCIARE QUESTO PARAMETRO
NOME_DATABASE=NOME DEL DB CHE HAI COLLEGATO
utente_sql=utente definito dentro sqlexpress
cia cia
Jumpa
-------------------------
Follow the White Rabbit...
http://www.jumpa.org
-------------------------
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
mer 21 feb 2007 - 16:18
Ciao Jumpa!
Con Microsoft SQL Server Managment Studio Express riesco ad aprire dal client il servizio SQL avviato nel server, nessun problema di autenticazione e riesco ad aprire il db che ho collegato (che poi è quello dell'applicazione..).
Al momento che provo a selezionare la stringa per l'origine dati,
il VISUAL BASIC 2005 EXPRESS mi fa lavorare solo in locale (dato che non mi permette la modifica della connectionstring dal menu di selezione origine dati)
Ho capito perfettamente il tuo post di prima, ma il mio problema è sempre quello:
non capisco dove devo andare per modificare questa stringa di connessione.
Potrebbe essere un limite del VB 2005 EXPRESS non far selezionare (e permettere dunque) origini dati remote?
Dal menu origine dati, dove faccio l'attach non mi permette di selezionare il db remoto
e per di più non mi viene data la possibilità di modificare la stringa!
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
mer 21 feb 2007 - 17:00
Ragazzi avevo provato a fare un collegamento ad un db locale e modificare la stringa,adattandola per un db remoto
1024x768
110Kb
ma come si può vedere VB 2k5 express non mi permette la modifica della connectionstring nella finestra proprietà.
Più tempo passa, e più mi convinco che il problema è questo.
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
gio 22 feb 2007 - 09:09
Mi hanno detto che non posso usare la user instance (AttachDbFileName) con file mdf che stanno su un altra macchina.
Quello che dovrei fare e' fare l'attach del DB sulla macchina che ospita sqlserver 2005 express
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=803792&SiteID=1
e poi mi dovrei connettere usando Data Source=nomeserver\SQLEXPRESS;etc etc etc.
(se solo sapessi le istruzioni per farlo )
Jumpa
Profilo
| Junior Member
176
messaggi | Data Invio:
gio 22 feb 2007 - 10:44
allora
facendo le cose via codice devi fare una cosa del genere
Dim conn as new SqlConnection
conn.connectionString = tuastringadiconnessione
conn.open()
conn.close()
prova a fare questa cosina dietro ad un pulsante
e vedi se tutto gira
in tuastringadiconnessione mettici il server remoto
let me know
-------------------------
Follow the White Rabbit...
http://www.jumpa.org
-------------------------
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
gio 22 feb 2007 - 12:40
Jumpa, non vorrei bagnarmi prima di piovere..ma forse ci siamo..
Adesso dopo aver sostituito la stringconnection nell'applicativo mi dice che l'utente non dispone delle autorizzazioni necessarie per svolgere questa operazione (semplice collegamento al db sql in remoto.)
uso autenticazione windows, mi consigli di passare ad autenticazione sql?
Se sì, dove come settare i privilegi dell'utente sql?
Se invece provo autenticazione SQL:
Questo è il messaggio di errore che mi viene inoltrato.
Impossibile eseguire l'accesso per l'utente 'gestionale'. L'utente non è associato a una connessione SQL Server trusted.
Stranamente, oggi sono molto ottimista!!
Che devo fare?
MarKonE
Profilo
| Guru
2.074
messaggi | Data Invio:
gio 22 feb 2007 - 13:00
Scaricati questo comodissimo tool visuale per la gestione di SQL Server :
http://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796
Ciao
My Blog...
http://blogs.dotnethell.it/Mark/
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
ven 23 feb 2007 - 10:22
Ebbene sì, ragazzi!
Ce l'abbiamo fatta!!!
Ma sono in LAN, adesso ho paura a provare in remoto!!
Alla fine ho lavorato in locale con il db, ho fatto l'attach sempre in locale.
Poi sono andato sul server dopo aver fatto una copia identica del mio DB, l'ho collegato al servizio sql.
E sono riuscito ad accedere al db dal client, usando questa stringa:
Data Source=NOMESERVER\SQLEXPRESS;Initial Catalog=pbreak;Trusted_Connection=yes;
e se volessi accedere al SERVER inserendo l'ip?Per un'eventuale connessione remota?
Non credo mi basti sostituire il NOMESERVER con l'indirizzo!!
Se non dovesse andare, potrei utilizzare la connessione remota di win s2k3, VPN?
MarKonE
Profilo
| Guru
2.074
messaggi | Data Invio:
ven 23 feb 2007 - 12:10
>e se volessi accedere al SERVER inserendo l'ip?
Secondo me non dovresti avere nessun problema...il nome è solo una comodità per noi umani
che alla fine viene tradotto in indirizzo IP.
>Per un'eventuale connessione remota?
Attenzione a non bloccare la porta del servizio SQL.... per default è la 1433.
Ciao!
My Blog...
http://blogs.dotnethell.it/Mark/
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
ven 23 feb 2007 - 12:13
MarKonE quindi pensi che usando la stessa stringa, mettendo l'ip al posto di NOMESERVER potrei per es. riuscire a collegarmi al DB anche da casa?
MarKonE
Profilo
| Guru
2.074
messaggi | Data Invio:
ven 23 feb 2007 - 12:22
>MarKonE quindi pensi che usando la stessa stringa, mettendo l'ip
>al posto di NOMESERVER potrei per es. riuscire a collegarmi al
>DB anche da casa?
Direi che senza blocchi da parte di firewall et similia non dovresti avere problemi ma........ da casa l'IP del server potrebbe essere diverso !
Ti colleghi in VPN ? Oppure attraverso internet ? Nel secondo caso dovresti conoscere l'indirizzo con cui viene pubblicato il tuo server....
Ciao!
My Blog...
http://blogs.dotnethell.it/Mark/
aintono
Profilo
| Junior Member
116
messaggi | Data Invio:
ven 23 feb 2007 - 12:25
Beh..vorrei collegarmi via internet, però potrei avere la possibilità di utilizzare una connessione VPN.
Ma l'autenticazione che avviene per accedere al DB SQL è di tipo Windows, non mi darà problemi accedendo da una postazione che non fa parte del Dominio?
Jumpa
Profilo
| Junior Member
176
messaggi | Data Invio:
ven 23 feb 2007 - 13:41
con l'autenticaizone di windows da remoto
mi sa che te li dara proprio i problemi!!!
poi aggiungere degli utenti sql
cmq giusto per, io non esporrei il server sql su internet,
magari accedici dentro una vpn è di molto piu sicuro!
oppure scoatti e ci metti dei webservice davanti che espongono solo le funzioni che ti occorrono, ad esempio
_ws_select_from_tabella(clausola where) as dataset
cosi dall'applicazione richiami il webservice che ti ritorna un dataset
-------------------------
Follow the White Rabbit...
http://www.jumpa.org
-------------------------
Torna su
Stanze Forum
Elenco Threads
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 !