Conecte-se ao MySQL do Bloco Application Data Microsoft
-
03-07-2019 - |
Pergunta
li estou usando o bloco Application Data para uma maioria do meu acesso a dados, especificamente usando a classe SqlHelper para chamar o ExecuteReader, ExecuteNonQuery e, como métodos. Passando a string de conexão com cada chamada de banco de dados.
Como posso modificar isso para permitir a conexão a um banco de dados MySQL também.
Solução
Se você tem o Enterprise Library instalado e já sabe como se conectar a bancos de dados SQL Server, a conexão com bancos de dados MySQL não é mais difícil.
Uma maneira de fazer isso é usar ODBC. Isto é o que eu fiz:
- Vá para MySQL.com e descarregue o conector mais recente ODBC MySQL. Enquanto escrevo isto é 5.1.5. Eu usei a versão de 64 bits, como eu tenho 64 bits Vista.
- instalar o conector ODBC. Eu escolhi usar a versão não-installer. Eu só abriu o zíper e correu Install.bat no prompt de comando de um administrador. A versão MSI provavelmente funciona bem, mas eu fiz isto deste modo quando eu instalado o conector 3.51.
- Verifique a instalação abrindo o painel de controle ODBC e verificar a guia Drivers. Você deverá ver a 5.1 driver ODBC MySQL listado lá. Parece até mesmo co-existir pacificamente com a versão mais antiga 3.51 se você já tem isso. Além disso, ele coexiste pacificamente com o conector .NET se que está instalado também.
- Neste ponto, você vai fazer o que você fez para se conectar a um banco de dados SQL Server. Tudo que você precisa saber é o que usar para uma seqüência de conexão.
- Aqui está o que a minha aparência:
- É claro que você pode definir "nome" para o que quiser.
- Se esta é sua única base de dados, você pode configurá-lo como o defaultDatabase assim:
- Acesse seus dados em seu código como você sempre faz! Aqui está um exemplo de texto SQL simples:
public List<Contact> Contact_SelectAll() { List<Contact> contactList = new List<Contact>(); Database db = DatabaseFactory.CreateDatabase("MySqlDatabaseTest"); DbCommand dbCommand = db.GetSqlStringCommand("select * from Contact"); using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { while (dataReader.Read()) { Contact contact = new Contact(); contact.ID = (int) dataReader["ContactID"]; client.FirstName = dataReader["ContactFName"].ToString(); client.LastName = dataReader["ContactLName"].ToString(); clientList.Add(client); } } return clientList; }
Outra maneira de fazer isso é construir e usar um provedor de MySql. Esse cara fez isso . Eu aprendi a fazer isso por adaptar estas instruções para conexão com Access. Oh, e aqui estão alguns exemplos mais de corda MySql Connection .