Problém s připojením ke vzdálenému MySQL serveru   otázka

VB.NET, Databáze

Dobrý den,

s VB.NET 2010 začínám a potřeboval bych poradit s připojením ke vzdálenému serveru MySQL.

Používám tento connector: http://dev.mysql.com/downloads/connector...

Na localhostu mi vše funguje jak má, ale pokud se snažím připojit třeba k Forpsi.cz kde hostuji můj web (dbserver-d175um.forpsi.com), tak se zobrazí chyba, že spojení nebylo navázáno. Kde by mohl být problém?

Chyba: Unable to connect to any of the specified MYSQL host

Tady je zdrojový kód programu, který jsem si napsal na test připojení:

Imports MySql.Data.MySqlClient

Public Class Form1
    Dim MysqlConn As MySqlConnection

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim readServer = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\MysqlTest", "server", Nothing)
        Dim readLogin = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\MysqlTest", "login", Nothing)
        Dim readPassword = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\MysqlTest", "password", Nothing)
        Dim readDatabase = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\MysqlTest", "database", Nothing)
        Dim readPort = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\MysqlTest", "port", Nothing)

        server.Text = readServer
        login.Text = readLogin
        password.Text = readPassword
        database.Text = readDatabase
        port.Text = readPort

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim server1 As String = CStr(server.Text)
        Dim login1 As String = CStr(login.Text)
        Dim password1 As String = CStr(password.Text)
        Dim database1 As String = CStr(database.Text)
        Dim port1 As String = CStr(port.Text)

        If (server1 = "") Or (login1 = "") Then

            MsgBox("Nevyplnil jste všechny údaje!")

        Else

            ' Jestli jsou data vyplnena, ulozim jej do registru pro pozdejsi nacteni 
            My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MysqlTest", "server", server1)
            My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MysqlTest", "login", login1)
            My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MysqlTest", "password", password1)
            My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MysqlTest", "database", database1)
            My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MysqlTest", "port", port1)


            MysqlConn = New MySqlConnection()

            MysqlConn.ConnectionString = "server=" & server.Text & ";" _
            & "user id=" & login.Text & ";" _
            & "password=" & password.Text & ";" _
            & "database=" & database.Text & ";" _
            & "port=" & port.Text & ""

            Try
                MysqlConn.Open()
                Dim ok As String
                ok = "Připojení navázáno!"
                statustext.Text = ok

                MessageBox.Show("Připojení bylo úspěšně navázano!")
                MysqlConn.Close()

            Catch myerror As MySqlException
                MessageBox.Show("Nastala chyba v připojení: " & myerror.Message)
            Finally
                MysqlConn.Dispose()
            End Try

        End If

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Application.Exit()
    End Sub

End Class

Tady je project se vším všudy ve vb.net 2010:

http://ulozto.cz/xLaYABk/windowsapplicat...

Děkuji za každou odpověď, radu k vyřešení mého problému.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkuste se ke stejnému serveru připojit pomocí nějakého administračního nástroje (MySQL by také mělo mít něco jako SQL Server Management Studio) se stejnými parametry.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak ani Vámi doporučeným programem se mi nepodařilo připojit k serveru. V php, ale toto nastavení využívám a funguje bez problémů. Jak tedy vyřešit jinak připojení k tomutu serveru?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Není to nějaká databáze umístěná na freehostingu, nebo něco podobného? Některé takové služby mají restrikce na to, odkud se k ním můžete připojit. Pravděpodobně máte práva na připojení pouze ze skriptů na přiřazeném webhostingu. V takovém případě by nezbývalo než napsat v PHP webovou službu a z aplikace spolupracovat s ní.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud jste to zkoušel pomocí Management Studia, tak se není čemu divit. Ten nástroj pro MySQL se jmenuje MySQL Workbench.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak jsem se zkusil připojit pomocí aplikace MySQL Workbench a ta stejná chyba. Zkusil jsem tedy napsat dotaz do Forpsi.cz a tam mi sdělili, že nepovulují vzdálený přístup k databázi skrz útoky.

Je ještě nějaké řešení jak se připojit k databázi?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Přímé připojení možné není.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Keď na tom istom serveri majú aj PHP, môžete uploadnúť na server PHPMyAdmin, alebo možno na to majú aj svoj vlastný editor, najprv sa teda pozrite po ich stránkach, či tam nejaký nemajú.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

na tom serveru je phpmyadmin:

https://webmysql.forpsi.com/phpMyAdmin/i...

Zkoušel jsem se připojovat i přes tuto adresu a nic

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ono taky záleží na tom zda se smíte připojit z jiné IP adresy, než administrátorem definované. Je to bezpečnostní opatření.

Zeptejte se správce.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ano 98 procent poskytovatele web hostingu nedovoluji se připojit do mysql db nebo jine než z localhost jedine komunikuji s phpmyadminem a se scriptama uložene na strankách webu.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback