MYSQL COM ADO.NET

HIDDEN 20/06/2011 13:47:43
#377247
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:

<%@ 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.
KERPLUNK 20/06/2011 15:18:47
#377260
Você tem que instalar o client do mysql que está aqui
MGALDINO 20/06/2011 15:45:15
#377266
Resposta escolhida
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.


HIDDEN 21/06/2011 00:08:54
#377317
Baixei e instalei o MySQL Conncector 6.3.6. O código ficou assim:

<%@ 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?
HIDDEN 21/06/2011 00:14:03
#377318
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.
RODRIGOFERRO 21/06/2011 06:15:31
#377321
referenciou a dll no projeto ? copiou a dll para a pasta no servidor ?

Abraços
HIDDEN 21/06/2011 07:18:10
#377326
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.
MGALDINO 21/06/2011 08:33:51
#377332
Depois de compilar o site pegue a pasta bin onde fica as dll e jogue na mesma pasta do seu site.
HIDDEN 21/06/2011 09:47:55
#377344
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?
HIDDEN 21/06/2011 10:45:54
#377354
Se eu utilizar Access, por exemplo:

      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?
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas