A CHAVE FORNECIDA NÃO ESTAVA...
Pessoal, fiz uma conexão no db4free usando o VB6, funcionou
perfeitamente, ao tentar conectar com o C# está aparecendo
a mensagem:
O que pode vir a ser isso?
Alguém pode ajudar?
perfeitamente, ao tentar conectar com o C# está aparecendo
a mensagem:
Citação:An unhandled exception of type [ô]System.Collections.Generic.KeyNotFoundException[ô] occurred in mscorlib.dll
Additional information: A chave fornecida não estava presente no dicionário.
O que pode vir a ser isso?
Alguém pode ajudar?
Em qual linha ocorre o erro?
Só estou insistindo nisso
porque no VB6 funcionou perfeitamente enquanto
que no C# não funcionou nenhuma vez...
Obrigado por sua atenção amigo.
porque no VB6 funcionou perfeitamente enquanto
que no C# não funcionou nenhuma vez...
Obrigado por sua atenção amigo.
Isso acontece porque você está usando provedor de dados diferentes.
Em VB6 você deve estar usando um, em .NET outro. Isso significa que a string de conexão deverá ser diferente.
Quando o provedor MySQL.NET tenta pegar os parâmetros da string de conexão, não encontra o que deveria encontrar. Aparentemente, usa um Dictionary internamente pra poder relacionar cada parâmetro da string de conexão com o seu valor. Quando ele vai buscar essas informações, não encontra e gera esse erro esquisito.
Qual a versão do seu MySQL .NET Connector? Qual a string de conexão que está usando?
Abraços!
Em VB6 você deve estar usando um, em .NET outro. Isso significa que a string de conexão deverá ser diferente.
Quando o provedor MySQL.NET tenta pegar os parâmetros da string de conexão, não encontra o que deveria encontrar. Aparentemente, usa um Dictionary internamente pra poder relacionar cada parâmetro da string de conexão com o seu valor. Quando ele vai buscar essas informações, não encontra e gera esse erro esquisito.
Qual a versão do seu MySQL .NET Connector? Qual a string de conexão que está usando?
Abraços!
Tenta desta forma....
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
class Conexao
{
//Conexão MySQL
public MySql.Data.MySqlClient.MySqlConnection myCON;
public MySql.Data.MySqlClient.MySqlCommand myCMD;
public MySql.Data.MySqlClient.MySqlDataReader myDRR;
//[ô]Strings de Conexão MySQL
public string MySQLHost = [Ô]Localhost[Ô];
public string MySQLUsuario = [Ô]root[Ô];
public string MySQLSenha = [Ô][Ô];
public string MySQLDataBase = [Ô]MEUBANCO[Ô];
//Conecta no MySQL
public void Conectar()
{
try
{
myCON = new MySql.Data.MySqlClient.MySqlConnection([Ô]server=[Ô] + MySQLHost + [Ô];user id=[Ô] + MySQLUsuario + [Ô];password=[Ô] + MySQLSenha + [Ô];database=[Ô] + MySQLDataBase);
myCON.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//Desconecta do MySQL
public void Desconectar()
{
try
{
myCON.Close();
}
catch (Exception ex)
{
MessageBox.Show( ex.Message);
}
}
}
}
KURTGU, como pode ver na imagem, seu código apresenta
exatamente o mesmo erro, a única diferença é que aparece
em forma de mensagem ao invés de interromper o programa.
exatamente o mesmo erro, a única diferença é que aparece
em forma de mensagem ao invés de interromper o programa.
Citação::Qual a versão do seu MySQL .NET Connector?
Uso o conector 3.51 (pois foi o único que funcionou bem com VB6).
Citação:Qual a string de conexão que está usando?
No C#:
        public string MySQLHost = [Ô]db4free.net[Ô];
public string MySQLUsuario = [Ô]jorgesales[Ô];
public string MySQLSenha = [Ô]123456[Ô];
public string MySQLDataBase = [Ô]meubanco[Ô];
        //Conecta no MySQL
        public void Conectar()
{
try
{
myCON = new MySql.Data.MySqlClient.MySqlConnection([Ô]server=[Ô] + MySQLHost + [Ô];user id=[Ô] + MySQLUsuario + [Ô];password=[Ô] + MySQLSenha + [Ô];database=[Ô] + MySQLDataBase);
myCON.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
No VB6:
db.Open [Ô]Driver={MySQL ODBC 3.51 Driver};Server=db4free.net;Database=meubanco;User=jorgesales;Password=123456;Option=3;[Ô]
ja te mando um exemplo so um instante...
Fiz um exemplo correndo aqui mais vai te ajudar, precisa melhorar ainda mais da pra entender.. Use o connector que esta na pasta bin salva ai em algum lugar e usa ele nas suas proximas applicacoes, esse que voce esta usando e muito antigo.
KURTGU, muito obrigado por sua grande ajuda,
C# está sendo um grande desafio que só não desisto
porque tenho o apoio de pessoas como você aqui
no fórum....
Obrigado de verdade, ajudou muito e me deu esperanças
de continuar na minha jornada.
C# está sendo um grande desafio que só não desisto
porque tenho o apoio de pessoas como você aqui
no fórum....
Obrigado de verdade, ajudou muito e me deu esperanças
de continuar na minha jornada.
Tópico encerrado , respostas não são mais permitidas