MySql
Como conectar uma aplicação C++ a uma base de dados MySQL usando o Visual Studio e o MySQL Connector/C++.
1. Pré-requisitos
- Visual Studio instalado (recomenda-se VS 2019 ou 2017 para melhor compatibilidade com o Connector/C++ 8.x1).
- MySQL Server instalado e funcionando.
- MySQL Connector/C++ baixado do site oficial do MySQL.
2. Instalação e Configuração
Passo 1: Instale o MySQL Connector/C++
- Descarregue o MySQL Connector/C++ (ZIP) para Windows.
- Extraia o conteúdo para uma pasta de fácil acesso, por exemplo:
C:\Libraries\mysql-connector-c++-8.1.0
Passo 2: Crie um Projeto no Visual Studio
- Abra o Visual Studio.
- Crie um novo projeto C++ vazio.
- Adicione um arquivo
main.cppao projeto.
Passo 3: Configure o Projeto
- Inclua diretórios de cabeçalhos
No menu do projeto:- Propriedades > C/C++ > Geral > Diretórios de Inclusão Adicionais
- Adicione o caminho para a pasta
includedo Connector/C++.
- Inclua diretórios de bibliotecas
- Propriedades > Linker > Geral > Diretórios de Biblioteca Adicionais
- Adicione o caminho para a pasta
lib64do Connector/C++.
- Adicione dependências de biblioteca
- Propriedades > Linker > Entrada > Dependências Adicionais
- Adicione:
mysqlcppconn.lib - Se estiver usando o Connector/C (API C), adicione
libmysql.lib.
- Copie DLLs necessárias
- Copie a
libmysql.dlle/oumysqlcppconn.dllpara a pasta do executável do seu projeto (geralmenteDebugouRelease).
- Copie a
3. Exemplo de Código para Conexão
Abaixo um exemplo simples usando o MySQL Connector/C++ (API moderna):
#include <iostream>
#include <mysql/jdbc.h> // Inclua o cabeçalho principal do Connector/C++
int main() {
try {
sql::mysql::MySQL_Driver* driver;
std::unique_ptr<sql::Connection> con;
driver = sql::mysql::get_mysql_driver_instance();
con.reset(driver->connect("tcp://127.0.0.1:3306", "utilizador", "senha"));
// Seleciona a base de dados
con->setSchema("nome_base_dados");
std::cout << "Conexão estabelecida com sucesso!" << std::endl;
}
catch (sql::SQLException& e) {
std::cerr << "Erro ao conectar: " << e.what() << std::endl;
return 1;
}
return 0;
}
Observações:
- Substitua
"utilizador","senha"e"nome_base_dados"pelos seus dados reais. - O cabeçalho pode variar: use
<mysql/jdbc.h>para o Connector/C++ 8.x.
4. Compilação e Execução
- Compile o projeto normalmente pelo Visual Studio.
- Certifique-se de que as DLLs necessárias estejam na mesma pasta do executável.
5. Dicas e Observações
- Se estiver usando o Visual Studio 2022, pode haver problemas de compatibilidade com o Connector/C++ 8.1.0. Prefira o VS 2019 ou 2017 para integração mais fácil1.
- Para usar a API C (mais antiga), o cabeçalho é
<mysql.h>e a biblioteca élibmysql.lib. - Trate sempre exceções para capturar erros de conexão.
