MYSQL COM ADO.NET
Estou migrando uma página ASP para ASP.NET e encontrei problemas na conexão com MySQL. Uso o seguinte código para me conectar:
Mensagem de erro:
Detalhes da Exceção: System.ArgumentException: Provedor OLE DB não foi especificado em ConnectionString. Por exemplo, [ô]Provider=SQLOLEDB;[ô].
Essa conexão funciona perfeitamente com VB6. O driver MySQL ODBC 5.1 está instalado tanto na estação local como no servidor.
<%@ Import Namespace=[Ô]System.Data[Ô] %>
<%@ Import Namespace=[Ô]System.Data.OleDb[Ô] %>
<%@ Page Language=[Ô]VB[Ô] Debug=[Ô]true[Ô] %>
<script language=[Ô]VB[Ô] runat=[Ô]server[Ô]>
Sub Page_Load(sender As Object, e As EventArgs)
Dim Conn As OleDbConnection
Dim connString As String
connString = [Ô]Driver={MySQL ODBC 5.1 Driver};server=127.0.0.1;uid=zehruela;pwd=123;database=portalpcm;option=3;[Ô]
Conn = New OleDbConnection(connString)
Conn.Open()
End Sub
</script>
Mensagem de erro:
Detalhes da Exceção: System.ArgumentException: Provedor OLE DB não foi especificado em ConnectionString. Por exemplo, [ô]Provider=SQLOLEDB;[ô].
Essa conexão funciona perfeitamente com VB6. O driver MySQL ODBC 5.1 está instalado tanto na estação local como no servidor.
Você tem que instalar o client do mysql que está aqui
Tive esse mesmo problema.
Hoje trabalho com o Mysql connector Net 6.0.7.
Meu sistema operacional é windows 7 64 bits, ate hoje nao sei se é o windows 7 mesmo.
Mais procure esse connector que garanto que vai funcionar.
Imports MySql.Data.MySqlClient
String de Conexao.
[Ô]Data Source=[Ô] + Servidor + [Ô];user id=[Ô] + Login + [Ô];password=[Ô] + Senha + [Ô]; database=[Ô] + BancoDeDados
Abraços qualquer coisa posta ai, comecei com asp.net agora tambem e ja passei por esses probleminhas.
Hoje trabalho com o Mysql connector Net 6.0.7.
Meu sistema operacional é windows 7 64 bits, ate hoje nao sei se é o windows 7 mesmo.
Mais procure esse connector que garanto que vai funcionar.
Imports MySql.Data.MySqlClient
String de Conexao.
[Ô]Data Source=[Ô] + Servidor + [Ô];user id=[Ô] + Login + [Ô];password=[Ô] + Senha + [Ô]; database=[Ô] + BancoDeDados
Abraços qualquer coisa posta ai, comecei com asp.net agora tambem e ja passei por esses probleminhas.
Baixei e instalei o MySQL Conncector 6.3.6. O código ficou assim:
Mas da a mensagem de erro do Compilador: BC30002: Tipo [ô]MySql.Data.MySqlClient.MySqlConnection[ô] não está definido.
O namespace está errado? Está faltando alguma coisa?
<%@ Page Language=[Ô]VB[Ô] Debug=[Ô]true[Ô] %>
<%@ Import Namespace=[Ô]System.Data[Ô] %>
<%@ Import Namespace=[Ô]System.Data.OleDb[Ô] %>
<%@ Import Namespace=[Ô]MySql.Data.MySqlClient[Ô] %>
<script language=[Ô]VB[Ô] runat=[Ô]server[Ô]>
Sub Page_Load(sender As Object, e As EventArgs)
Dim conn As New MySql.Data.MySqlClient.MySqlConnection
Dim myConnectionString as String
myConnectionString = [Ô]server=127.0.0.1; uid=root; pwd=951753; database=c4dev;[Ô]
Try
conn.ConnectionString = myConnectionString
conn.Open()
Catch ex As MySql.Data.MySqlClient.MySqlException
MessageBox.Show(ex.Message)
End Try
End Sub
</script>
Mas da a mensagem de erro do Compilador: BC30002: Tipo [ô]MySql.Data.MySqlClient.MySqlConnection[ô] não está definido.
O namespace está errado? Está faltando alguma coisa?
Citação:Um detalhe ai é que você está tentando usar um driver ODBC pelo conector OLE DB, sendo que existe o System.Data.Odbc.OdbcConnection para isso
Não sei a diferença. Se puder aprofundar na explicação.
Citação:Mas o ideal mesmo é você usar um driver nativo para o .Net, você pode baixar ele no site do MySQL: http://www.mysql.com/downloads/connector/net/
Já baixei e instalei, mas está dando o erro relatado no post anterior.
referenciou a dll no projeto ? copiou a dll para a pasta no servidor ?
Abraços
Abraços
Citação:referenciou a dll no projeto ? copiou a dll para a pasta no servidor ?
Deve ser por aà ! Estou tentando achar um exemplo para referenciar a DLL especÃfica no web,config. Se alguém souber.
Depois de compilar o site pegue a pasta bin onde fica as dll e jogue na mesma pasta do seu site.
Vários novos fios de cabelos brancos, mas consegui me conectar utilizando o driver nativo MySQL Connector/NET.
Acontece o seguinte: terei que utilizar os objetos do Namespace MySql.Data.MySqlClient para acessa os dados. E se eu mudar a base para SQL Server, por exemplo? O código para acesso a banco de dados terÃa que ser alterado. Existe algum driver ODBC genério para isso, mantendo a compatibilidade de código?
Acontece o seguinte: terei que utilizar os objetos do Namespace MySql.Data.MySqlClient para acessa os dados. E se eu mudar a base para SQL Server, por exemplo? O código para acesso a banco de dados terÃa que ser alterado. Existe algum driver ODBC genério para isso, mantendo a compatibilidade de código?
Se eu utilizar Access, por exemplo:
Não da erro.
Porém, se eu criar um DSN e fizer connString=[Ô]DSN=meudsn[Ô] já da a porra do erro:
Detalhes da Exceção: System.ArgumentException: Provedor OLE DB não foi especificado em ConnectionString. Por exemplo, [ô]Provider=SQLOLEDB;[ô].
Falta alguma configuração?
Dim connString As String
connString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\sites\pontescm\dados\pontes.mdb[Ô]
Dim conn As New OleDbConnection(connString)
conn.Open()
Não da erro.
Porém, se eu criar um DSN e fizer connString=[Ô]DSN=meudsn[Ô] já da a porra do erro:
Detalhes da Exceção: System.ArgumentException: Provedor OLE DB não foi especificado em ConnectionString. Por exemplo, [ô]Provider=SQLOLEDB;[ô].
Falta alguma configuração?
Tópico encerrado , respostas não são mais permitidas