MYSQL X MARIABD
Boa tarde queridos
Seguinte, estou tentando fazer uma conexão remota em mysql, tenho:
Dim CON_STR As String
Dim SERVER As String
Dim USER As String
Dim SENHA As String
Dim PORTA As String
Dim BD As String
[ô]verifica se a conexao está aberta e fecha para evitar erros
If Conexao.State = 1 Then
Conexao.Close
Set Conexao = Nothing
Valor = True
End If
If Valor = True Then
SERVER = [Ô]blablabla.jkinfonet.com.br[Ô]
BD = [Ô]jkinfonet[Ô]
PORTA = [Ô]3306[Ô]
USER = [Ô]jkinfonet[Ô]
SENHA = [Ô]blablablas[Ô]
CON_STR = [Ô]DRIVER={MySQL ODBC 3.51 DRIVER};[Ô] _
& [Ô]Server=[Ô] & SERVER & [Ô];[Ô] _
& [Ô]Port=[Ô] & PORTA & [Ô];[Ô] _
& [Ô]Database=[Ô] & BD & [Ô];[Ô] _
& [Ô]UID=[Ô] & USER & [Ô];[Ô] _
& [Ô]PWD=[Ô] & SENHA & [Ô];[Ô] _
& [Ô]Option=3;[Ô]
With Conexao
.CursorLocation = adUseClient
.ConnectionString = CON_STR
.Open CON_STR
End With
Else
Conexao.Close
Set Conexao = Nothing
End If
mais não roda, diz que o cliente não suporta a questão do protocolo, que eu tenho que considerar o upgrade para o MariaBD??, alguém tem alguma ideia de como eu faço isso? rs
grato
Joerbeth
Seguinte, estou tentando fazer uma conexão remota em mysql, tenho:
Dim CON_STR As String
Dim SERVER As String
Dim USER As String
Dim SENHA As String
Dim PORTA As String
Dim BD As String
[ô]verifica se a conexao está aberta e fecha para evitar erros
If Conexao.State = 1 Then
Conexao.Close
Set Conexao = Nothing
Valor = True
End If
If Valor = True Then
SERVER = [Ô]blablabla.jkinfonet.com.br[Ô]
BD = [Ô]jkinfonet[Ô]
PORTA = [Ô]3306[Ô]
USER = [Ô]jkinfonet[Ô]
SENHA = [Ô]blablablas[Ô]
CON_STR = [Ô]DRIVER={MySQL ODBC 3.51 DRIVER};[Ô] _
& [Ô]Server=[Ô] & SERVER & [Ô];[Ô] _
& [Ô]Port=[Ô] & PORTA & [Ô];[Ô] _
& [Ô]Database=[Ô] & BD & [Ô];[Ô] _
& [Ô]UID=[Ô] & USER & [Ô];[Ô] _
& [Ô]PWD=[Ô] & SENHA & [Ô];[Ô] _
& [Ô]Option=3;[Ô]
With Conexao
.CursorLocation = adUseClient
.ConnectionString = CON_STR
.Open CON_STR
End With
Else
Conexao.Close
Set Conexao = Nothing
End If
mais não roda, diz que o cliente não suporta a questão do protocolo, que eu tenho que considerar o upgrade para o MariaBD??, alguém tem alguma ideia de como eu faço isso? rs
grato
Joerbeth
so uma observação, quando faço p teste pelo phpadmin da certo e pelo odbc via fonte de dados
a conexão ao mysql e ao mariadb pode ser feita sem problemas desde que utilize o Connecto/Net disponÃvel em dev.mysql.com/downloads/connector/net/.
Após instalar, adicione-o nas referencias do projeto.
Com isso você pode conectar-se para fazer operações de diversas formas. A mais básica é centralizar tudo em uma classe de conexão. Desta forma:
Depois realizar as operações chamando a classe assim:
ou
OBS: Tudo que fiz é em C#, mas se você entende bem o .Net, não terá dificuldades pra passar pro VB
Após instalar, adicione-o nas referencias do projeto.
Com isso você pode conectar-se para fazer operações de diversas formas. A mais básica é centralizar tudo em uma classe de conexão. Desta forma:
using System;
using System.Data;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace exemplo
{
class Conexao
{
static string caminhoBanco = [Ô]SERVER=127.0.0.1;DATABASE=seu_banco;UID=seu_usuario;PWD=sua_senha;[Ô];
/**
* Parametro SQL string para setar uma pesquisa no banco de dados
* Retorna Uma tabela com o resultado da pesquisa segundo o parametro SQL
* OBS: Ao instanciar este método, setar apenas SQL de SELECT
*/
static public DataTable Pesquisar(String SQL)
{
DataTable tabela = new DataTable();
try
{
MySqlConnection conn = new MySqlConnection(caminhoBanco);
tabela.Rows.Clear();
conn.Open();
MySqlCommand comando = new MySqlCommand(SQL, conn);
MySqlDataAdapter adapter = new MySqlDataAdapter(comando);
adapter.Fill(tabela);
conn.Close();
}
catch (Exception Ex)
{
MessageBox.Show([Ô]Erro de Comando: [Ô] + Ex.Message);
}
return tabela;
}
/**
* Parametro SQL string para setar uma pesquisa no banco de dados
* OBS: Ao instanciar este método, setar apenas SQL de INSERT, UPDATE ou DELET
*/
static public void CRUD(string SQL)
{
try
{
MySqlConnection conn = new MySqlConnection(caminhoBanco);
conn.Open();
MySqlCommand comando = new MySqlCommand(SQL, conn);
comando.ExecuteNonQuery();
conn.Close();
}
catch (Exception Ex)
{
MessageBox.Show([Ô]Erro de Comando: [Ô] + Ex.Message);
}
}
}
}
Depois realizar as operações chamando a classe assim:
Conexao.Pesquisar([Ô]SELECT * FROM ...[Ô]);
ou
Conexao.CRUD([Ô]INSERT INTO ... ou UPDATE... ou DELETE ...[Ô]);
OBS: Tudo que fiz é em C#, mas se você entende bem o .Net, não terá dificuldades pra passar pro VB

obrigado
Tópico encerrado , respostas não são mais permitidas