Pergunta

Vou usar C/C++ e gostaria de saber a melhor maneira de conversar com um servidor MySQL.Devo usar a biblioteca que acompanha a instalação do servidor?Há alguma boa biblioteca que eu deva considerar além da oficial?

Foi útil?

Solução

Outras dicas

Isso depende um pouco do que você quer fazer.

Primeiro, verifique as bibliotecas que fornecem conectividade para mais de uma plataforma DBMS.Por exemplo, o Qt torna muito fácil conectar-se ao MySQL, MS SQL Server e vários outros, e alterar o driver do banco de dados (tipo de conexão) em tempo de execução - com apenas algumas linhas de código.

Bibliotecas específicas do MySQL são boas, mas tenha em mente que você está se limitando a uma implementação de banco de dados - se precisar mudar no futuro, será muito trabalhoso - mesmo se você projetar seu código de forma que o banco de dados -coisas específicas estão por trás de uma fachada.Por que não usar uma biblioteca que fornece conectividade a múltiplas plataformas e evitar problemas?

OTL é uma solução sólida entre DBMS para C++ que meu projeto vem usando há anos.Nós o usamos para conversar com SQL Server (via ODBC) e Oracle (via OCI).É bastante fácil de dirigir e vem com um grande número de exemplos em todos os bancos de dados suportados.

Não há nada de errado com as próprias bibliotecas cliente do MySQL.Se você estiver disposto a se contentar funcionalidade reduzida, você pode adquirir alguma portabilidade extra usando ODBC, UDBC, abril_dbd, ou alguma outra biblioteca de abstração de banco de dados (como a OTL já oferecida).

Isso tornará a troca de back-end mais fácil, mas, como mencionei, às custas de oferecer menos funcionalidades em comparação com o cliente nativo.Como os fornecedores de banco de dados são diferentes, as bibliotecas de abstração só podem realmente oferecer as funções comuns a todos (ou à maioria) dos back-ends.Se você prefere otimizar para um banco de dados específico ou prefere facilitar a troca de back-ends, depende de você (e, talvez, de seu gerente).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top