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
Database Mysql in remoto.
martedì 23 febbraio 2010 - 12.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
danieltaga
Profilo
| Newbie
2
messaggi | Data Invio:
mar 23 feb 2010 - 12:38
Salve,
sono nuovo in C# e sto cercando di connettermi ad un database sul mio indiriz web, cioe' in remoto.
ho trovato in giro questa porzione di codice... ma che non riesco a fare andare...
string MyConString = "server=sql.XYZ.com;" +
"database=databaseXYZ;" +
"uid=userXYZ;" +
"pwd=passXYZ";
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "SELECT * FROM Product";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
string thisrow = "";
for (int i= 0;i<Reader.FieldCount;i++)
thisrow+=Reader.GetValue(i).ToString() + ",";
listBox1.Items.Add(thisrow);
}
connection.Close();
Chiaramente ho installato il connector ed aggiunto anche la referenza a Mysql.Data...
quello che succede e che va in debug al run di connection.Open() con messag Unable to connect to any of the specified MySQL hosts.
Il database e funzionante in rete e ci accedo con php, ora da remoto... anche perche' sono ignorante in materia... cosa succede? ha bisogno di qualche permission per questo tipo di accesso? oppure sto sbagliando qlc altro.
Il sistema di base dovrebbe girare su una windows application e comunicare con il database in remoto.
Qualcuno mi puo' aiutare,
grazie
Daniel
biggiu
Profilo
| Junior Member
179
messaggi | Data Invio:
mar 23 feb 2010 - 16:02
Salve,
provo a darti qualche riga di comando che a me funziona benissimo. Tieni conto che il linguaggio è il VB.net :
Per la connessione dovresti ottenere una stringa del tipo :
"Data Source=192.168.01.100;Initial Catalog=A_001;User ID=root;Password=pwd; Allow Zero Datetime=True"
per ottenerla ho usato le seguenti righe di codice :
StrMsq2 = "Data Source=" & DatSouMs2 & ";" & _
"Initial Catalog=" & IniCatMs2 & ";" & _
"User ID=" & UserIdMs2 & ";" & _
"Password=" & PasWrdMs2 & ";" & _
" Allow Zero Datetime=True;"
Le funzioni a seguire attivano la connessione ed eseguono una query :
'---------------------------------------------------------------------------------------------------------'
' GETROWMSQ Lettura anagrafica MySQl con metodo tradizionale ( COMANDO SQL ) '
'---------------------------------------------------------------------------------------------------------'
Function GetRowMsq(ByVal cmdsql As String)
Dim nroRecord As Integer
Dim myStrConn As String
MsqCmd = New MySqlCommand
Try
'----- creazione esplicita della connessione
myConnection = New MySqlConnection
myStrConn = StrCon
myConnection.ConnectionString = myStrConn
myConnection.Open()
'----- passaggio della connessione attiva all'oggetto Command
MsqCmd.Connection = myConnection
'----- definizione del tipo di comando
MsqCmd.CommandType = CommandType.Text
'----- assegnazione della stringa comando
MsqCmd.CommandText = cmdsql
'----- esegue il comando di lettura
GetRowMsq = MsqCmd.ExecuteReader
Catch thisExcept As Exception
'----- se il tentativo di connessione fallisce viene visualizzata l'eccezione
MessageBox.Show(thisExcept.Message, "GetRowMsq")
End Try
End Function
Sub MsqClsCon()
Dim w1 As String
Try
'----- Chiusura connessione MySQL
MsqDatRea.Close()
myConnection.Close()
myConnection.Dispose()
myConnection = Nothing
Catch thisExcept As Exception
'----- se il tentativo di connessione fallisce viene visualizzata l'eccezione
w1 = ""
End Try
End Sub
Spero di esserti stato di aiuto.
BigGiu
danieltaga
Profilo
| Newbie
2
messaggi | Data Invio:
mar 23 feb 2010 - 16:14
Ciao,
grazie per la risposta, e' solo che ho appena avuto anche una risposta negativa relativa al mio dominio; e cioe' non mi permettono la connessione con un client esterno... e sinceramente a questo punto non so piu' come fare? stavo guardando tunneling ma non so...
Dalla tua risposta vedo che usi un database sulla tua stessa rete 192.... e infatti ho visto che puoi, se hai accesso al server impostare/garantire diritti di lettura database da remoto.... ma se questo lo compri altrove... :)
Mi stavo informando su un altro provider che mi possa dare questi diritti dato che e' molto importante avere un programma pilota per poter comunicare con il database... se sai qualcuno... ti sarei molto grato.
Forse un modo ancora piu' carino potrebbe essere comunicare atraverso dei file php sul server... e gestire del xml dalla mia applicaz?
Daniel
biggiu
Profilo
| Junior Member
179
messaggi | Data Invio:
mar 23 feb 2010 - 18:26
Scusa ma forse ti ho tratto in inganno con l'indirizzo IP 192.... Ho messo questo per indicarne uno di fantasia e non un indirizzo del mio Cliente.
Per il provider, potresti provare a chiedere presso :
Ergonet.it
Loro gestiscono Hosting Linux con DB Mysql.
In bocca al lupo!
BigGiu
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 !