CONEXAO MYSQL COM SERVIDOR NA INTERNET - ERRO

JULIOBERTOSO 01/03/2013 23:24:19
#419795
Galera, mais uma vez eu aqui pedindo ajuda.

é o seguinte, tenho uma hospedagem pago(Hosting24) na internet onde hospedo meu sites nele tenho alguns bancos em SQL.

estou criando um sistema onde eu e meu irmão podemos usar(ele na casa dele e eu na minha) porem não dá pra deixar o banco de dados na minha máquina ou na dele, minha ideia foi hospedar meu banco de dados do access convertido em SQL online (até aqui tudo maravilha, esta convertido e online no phpMyAdmin)

O PROBLEMA

Não consigo de jeito nenhum fazer o VB2010 conectar neste bancao (não tenho nenhum conhecimento em conexão em sql, principalmente no mysql, mas estou tentando aprender)

segue os comando que peguei em um site e adaptei pra mim e a tela do erro

OBS: posso esta sendo [Ô]ignorante[Ô] achar que é possivel fazer tal conexão, pois a maioria que vi na internet era em localhost
 Imports MySql.Data.MySqlClient

Public Class Form1
Inherits System.Windows.Forms.Form

Dim conn As New MySqlConnection
Dim myCommand As New MySqlCommand
Dim myAdapter As New MySqlDataAdapter
Dim myData As New DataTable
Dim SQL As String

#Region [Ô] Windows Form Designer generated code [Ô]

Public Sub New()
MyBase.New()

[ô]This call is required by the Windows Form Designer.
InitializeComponent()

[ô]Add any initialization after the InitializeComponent() call

End Sub

[ô]Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

[ô]Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer

[ô]NOTE: The following procedure is required by the Windows Form Designer
[ô]It can be modified using the Windows Form Designer.
[ô]Do not modify it using the code editor.
Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.DataGrid1 = New System.Windows.Forms.DataGrid
CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
[ô]
[ô]DataGrid1
[ô]
Me.DataGrid1.DataMember = [Ô][Ô]
Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.DataGrid1.Location = New System.Drawing.Point(8, 8)
Me.DataGrid1.Name = [Ô]DataGrid1[Ô]
Me.DataGrid1.Size = New System.Drawing.Size(576, 248)
Me.DataGrid1.TabIndex = 0
[ô]
[ô]Form1
[ô]
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(592, 270)
Me.Controls.Add(Me.DataGrid1)
Me.Name = [Ô]Form1[Ô]
Me.Text = [Ô]Acessando o MySQL[Ô]
CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub

#End Region

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conn As MySqlConnection
conn = New MySqlConnection
conn.ConnectionString = [Ô]server=212.1.215.39;user id=cancecas_ADMIN;password=1Q2W3E4R;database=cancecas_TESTE;port=2089[Ô]
SQL = [Ô]SELECT * FROM cancecas_TESTE.Employees[Ô]
Try
conn.Open()
Try
myCommand.Connection = conn
myCommand.CommandText = SQL

myAdapter.SelectCommand = myCommand
myAdapter.Fill(myData)

DataGrid1.DataSource = myData
[ô] DataGrid1.AutoSizeColumns(DataGridViewAutoSizeColumnCriteria.HeaderAndDisplayedRows)
Catch myerror As MySqlException
MsgBox([Ô]There was an error reading from the database: [Ô] & myerror.Message)
End Try
MessageBox.Show([Ô]Conexão aberta com sucesso[Ô])
conn.Close()
Catch myerror As MySqlException
MessageBox.Show([Ô]Erro ao conectar com o Banco de dados : [Ô] & myerror.Message)
Finally
conn.Dispose()
End Try
End Sub

End Class
JULIOBERTOSO 01/03/2013 23:27:35
#419796
Segue o exemplo do sistema também
JESUEL.OLIVEIRA 02/03/2013 08:42:03
#419805
Amigo, Juliobertoso

Verifique se seu MYSQL na net esta apto a receber conexão de qualquer IP [Ô]%[Ô] se os dados do seu projeto de conexão estão certos nem com o SQL Manager e nem o workbench conectou ou seja a aplicação esta certa o banco que esta retornando o erro. Conecta mas não retorna nenhuma base de dados.
JULIOBERTOSO 04/03/2013 10:34:21
#419852
não resolveu não...entrei e contato com a Hosting24 e tive a seguinte resposta
  Olá Julio, Você deve usar a porta 3306 para conexões remotas mysql. Note vb.net não é suportado aqui. Você também precisa adicionar o seu IP do computador para a seção MySQL remoto no cPanel. Espero ter abordado todas as suas preocupações, mas por favor, sinta-se livre para responder a esta passagem, se você precisar de mais ajuda. Atenciosamente, Arnold F. ajudar a equipe Posto www.hosting24.com


ainda continuo na dúvida
JESUEL.OLIVEIRA 04/03/2013 11:17:02
#419861
Amigo, JULIOBERTOSO.

De fato o vb.net não conectar mas o drivers ODBC sim, suporte de provedor é um sarro. De fato utilize a porta 3306 servidor linux? regras de firewall.

Mesmo assim tente fazer a conexão com um programa de front end de mysql, workbench, SQL Manager, qualquer um, assim você vê se conecta.

é chato mesmo depois que você aprende, ja era.
JULIOBERTOSO 04/03/2013 11:20:07
#419862
consegui descobrir o problema, lendo este artigo
http://manual.webhost.com.br/node/38

é só ir em MySQL Remoto dentro do Cpainel na web e adicionar % e pronto, liberado acesso remoto

o problema estava em liberar acesso remoto para conexões externas no servidor, então colocando o endereço do meu domínio sem HTTP:// e sem WWW. no meu caso foi meu endereço canecasecia.com com meu nome de usuário, senha, nome do banco e porta, segue abaixo

dentro do VB: o caminho para conexão:
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conn As MySqlConnection
conn = New MySqlConnection
conn.ConnectionString = [Ô]server=canecasecia.com;user id=MEU ID;password=MINHA SENHA;database=BANCO DE DADOS;port=3306[Ô]
SQL = [Ô]SELECT * FROM BANCO DE DADOS.TABELA[Ô]
Try
conn.Open()
Try
myCommand.Connection = conn
myCommand.CommandText = SQL

myAdapter.SelectCommand = myCommand
myAdapter.Fill(myData)

DataGrid1.DataSource = myData
[ô] DataGrid1.AutoSizeColumns(DataGridViewAutoSizeColumnCriteria.HeaderAndDisplayedRows)
Catch myerror As MySqlException
MsgBox([Ô]There was an error reading from the database: [Ô] & myerror.Message)
End Try
MessageBox.Show([Ô]Conexão aberta com sucesso[Ô])
conn.Close()
Catch myerror As MySqlException
MessageBox.Show([Ô]Erro ao conectar com o Banco de dados : [Ô] & myerror.Message)
Finally
conn.Dispose()
End Try
End Sub
Tópico encerrado , respostas não são mais permitidas