Hallo,
ich wolltte mir selbst etwas zusammen programmieren für kleinere Anwendungen. Dazu habe ich schon eine DB Angelegt. Jetzt wolte ich erstmal die Datenbank verbindung testen. Dabei habe ich erste kleinere schwierigkeiten.
Der SSH Tunnel funst aber irgendwie will das Teil nicht so wie ich.
Ich erhalte jedes mal "Access dinied for User "root@localhost" (no: Pass) ...
Was mache ich wo falsch?
Ah zu Info. Ich nutze auch teilweise Navicat Lite oder andere SQL Manager. Dort habe ich jeweilse die Verbindung durch SSH getuntelt. Laut anleitung sollte aber nach dem Tunneln als Host jeweils immer "localhost" eingetragen werden. Dies funktioniert bei mir aber nicht. Da erhalte ich jeweils die gleiche Fehlermeldung. Wenn ich allerdings die IP des Diskstation eintrage kann ich normal connecten.
ich wolltte mir selbst etwas zusammen programmieren für kleinere Anwendungen. Dazu habe ich schon eine DB Angelegt. Jetzt wolte ich erstmal die Datenbank verbindung testen. Dabei habe ich erste kleinere schwierigkeiten.
Der SSH Tunnel funst aber irgendwie will das Teil nicht so wie ich.
Rich (BBCode):
string host = "192.168.0.100";
string user = "admin";
string pass = "xxx";
int sshPort = 22;
int rPort = 3306;
int lPort = 3306;
int port = 22;
session = jsch.getSession(user, host, port);
session.setHost(host);
session.setPassword(pass);
UserInfo ui = new MyUserInfo();
session.setUserInfo(ui);
session.connect();
//Set port forwarding on the opened session
session.setPortForwardingL(lPort, "localhost", rPort);
if (session.isConnected())
{
this.toolStripStatusLabel1.Text = "Connected";
try
{
string dbhost = "localhost";
string dbuser = "root";
string dbpass = "";
string dbdatabase = "testdb";
string connStr = String.Format("server={0};user id={1}; password={2}; database={3}; pooling=false", dbhost, dbuser, dbpass, dbdatabase);
// Create a MySql Connection
conn = new MySqlConnection(connStr);
conn.Open();
conn.ChangeDatabase(dbdatabase);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
session.disconnect();
this.toolStripStatusLabel1.Text = "Ready";
}
finally
{
conn.Close();
}
Ich erhalte jedes mal "Access dinied for User "root@localhost" (no: Pass) ...
Was mache ich wo falsch?
Ah zu Info. Ich nutze auch teilweise Navicat Lite oder andere SQL Manager. Dort habe ich jeweilse die Verbindung durch SSH getuntelt. Laut anleitung sollte aber nach dem Tunneln als Host jeweils immer "localhost" eingetragen werden. Dies funktioniert bei mir aber nicht. Da erhalte ich jeweils die gleiche Fehlermeldung. Wenn ich allerdings die IP des Diskstation eintrage kann ich normal connecten.