Conexão Perl MySQL

Resumo : neste tutorial, você aprenderá passo a passo como se conectar a um banco de dados MySQL usando Perl DBI API.

Vamos começar criando um banco de dados simples em MySQL com o nome perlmysqldbda demonstração.

A CREATE DATABASEinstrução a seguir cria um novo banco de dados no servidor MySQL:

CREATE DATABASE perlmysqldb;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Conectando ao banco de dados MySQL

Conexão Perl MySQL

Ao se conectar a um banco de dados MySQL, você precisa das seguintes informações:

  • Primeiro, você precisa informar ao DBI onde encontrar o servidor de banco de dados MySQL. Isso é chamado de nome da fonte de dados ou DSN. O nome da fonte de dados especifica o driver a ser usado e o banco de dados a ser conectado. Perl requer o nome da fonte de dados para começar  dbi:e o nome do driver. Para MySQL, o nome do driver é mysqlseguido por dois pontos, :por exemplo dbi:mysql:, e, em seguida, o nome do banco de dados, por exemplo, dbi:mysql:perlmysqldb.
  • Segundo, você precisa fornecer o nome de usuário e a senha da conta de usuário MySQL que se conecta ao banco de dados.
  • Terceiro, os atributos de conexão opcionais especificam a maneira como o DBI lida com exceções que podem ocorrer ao se conectar ao banco de dados MySQL.

A sintaxe para criar uma conexão com o banco de dados MySQL é a seguinte:

$dbh = DBI->connect($dsn,$username,$password,\%attr);Linguagem de código:  Perl  ( perl )

connect()método retorna um identificador de banco de dados se a conexão com o banco de dados for estabelecida com êxito.

Por exemplo, para se conectar ao perlmysqldbbanco de dados, você usa o seguinte script:

#!/usr/bin/perl
use strict;
use warnings;
use v5.10; # for say() function

use DBI;
say "Perl MySQL Connect Demo";
# MySQL database configuration
my $dsn = "DBI:mysql:perlmysqldb";
my $username = "root";
my $password = '';

# connect to MySQL database
my %attr = ( PrintError=>0,  # turn off error reporting via warn()
             RaiseError=>1);   # turn on error reporting via die()           

my $dbh  = DBI->connect($dsn,$username,$password, \%attr);

say "Connected to the MySQL database.";Linguagem de código:  Perl  ( perl )

Como funciona.

  • Primeiro, use a use DBI;instrução no topo do script.
  • A seguir, defina algumas variáveis ​​que contêm o nome da fonte de dados, nome de usuário e senha.
  • Em seguida, defina uma variável hash que contenha os atributos da conexão.
  • Depois disso, passe os argumentos correspondentes ao connect()método para criar uma conexão com o perlmysqdbbanco de dados.
  • Por fim, mostre uma mensagem para indicar que o programa foi conectado ao banco de dados MySQL com sucesso.

A seguir está a saída do script:

Perl MySQL Connect Demo
Connected to the MySQL database.Linguagem de código:  Sessão Shell  ( shell )

Tratamento de erros

Perl DBI permite lidar com erros manualmente e/ou automaticamente. Perl DBI detecta erros quando eles ocorrem e chama a  função warn()or  die()com uma mensagem de erro apropriada.

O PrintErroratributo instrui o DBI a chamar a  warn()função que mostra os erros na saída. O  RaiseErroratributo diz ao DBI para chamar a  die()função em caso de erro e abortar o script imediatamente.

Perl DBI habilita PrintErrorpor padrão. No entanto, recomendamos fortemente que você desative PrintErrore RaiseErrorative o atributo para instruir o DBI a tratar o erro automaticamente.

Se você não ligar RaiseError, terá que lidar com o erro manualmente da seguinte maneira:

# withou RasieError off:
 my $dbh  = DBI->connect($dsn,$username,$password) or 
            die("Error connecting to the database: $DBI::errstr\n");Linguagem de código:  Perl  ( perl )

Quando ocorre um erro, o DBI armazena a mensagem de erro na  $DBI::errstrvariável. A instrução acima significa que se a conexão com o banco de dados falhar, ela exibirá a mensagem de erro e abortará o script imediatamente.

Outro benefício de ativar o RaiseErroratributo é que o código parecerá mais legível porque você não precisa incluir a  or die()instrução em todos os lugares em que chamar um método DBI.

Desconectando do banco de dados MySQL

Se você não estiver mais interagindo com o banco de dados MySQL, desconecte-se explicitamente dele. É uma boa prática.

Para fechar uma conexão com o banco de dados, você usa o disconect()método do objeto identificador do banco de dados da seguinte maneira:

# disconnect from the MySQL database
$dbh->disconnect();Linguagem de código:  Perl  ( perl )

Neste tutorial, você aprendeu como conectar-se e desconectar-se de um banco de dados MySQL usando a API Perl DBI.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *