Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » Perl/DBI-Unterstützung » Perl-Skripten, die DBD::SQLAnywhere verwenden

 

Verbindung öffnen und schließen

In der Regel öffnen Sie eine einzelne Verbindung zu einer Datenbank und führen dann alle erforderlichen Vorgänge durch, indem Sie eine Sequenz von SQL-Anweisungen ausführen. Öffnen Sie eine Verbindung mithilfe der Methode "connect". Der Rückgabewert ist ein Handle zur Datenbankverbindung, mit dem Sie die nachfolgenden Vorgänge in dieser Verbindung durchführen.

Die Parameter der Methode "connect" lauten wie folgt:

  1. "DBI:SQLAnywhere:" und zusätzliche Verbindungsparameter, die durch Semikola getrennt werden.

  2. Ein Benutzername. Wenn die Zeichenfolge nicht leer ist, wird ";UID=Wert" der Verbindungszeichenfolge angehängt.

  3. Ein Kennwortwert. Wenn die Zeichenfolge nicht leer ist, wird ";PWD=Wert" der Verbindungszeichenfolge angehängt.

  4. Ein Zeiger zu einem Hash von Standardwerten. Einstellungen wie AutoCommit, RaiseError und PrintError können auf diese Weise definiert werden.

Das nachstehende Codebeispiel öffnet und schließt eine Verbindung zur SQL Anywhere-Beispieldatenbank. Bevor Sie dieses Skript ausführen, müssen Sie den Datenbankserver und die Beispieldatenbank starten.



#!/usr/local/bin/perl -w
#
use DBI;
use strict;
my $database = "demo";
my $data_src = "DBI:SQLAnywhere:SERVER=$database;DBN=$database";
my $uid      = "DBA";
my $pwd      = "sql";
my %defaults = (
     AutoCommit => 1, # Autocommit enabled.
     PrintError => 0  # Errors not automatically printed.
   );
my $dbh = DBI->connect($data_src, $uid, $pwd, \%defaults)
  or die "Cannot connect to $data_src: $DBI::errstr\n";
$dbh->disconnect;
exit(0);
__END__

Optional können Sie den Wert des Benutzernamens oder des Kennworts an die Datenquellen-Zeichenfolge anhängen und nicht als getrennte Parameter übergeben. Wenn Sie dies tun, übergeben Sie eine leere Zeichenfolge für das entsprechende Argument. Beispiel: Das oben gezeigte Skript kann geändert werden, indem die Anweisung, die die Verbindung öffnet, durch die nachstehenden Anweisungen ersetzt wird:

$data_src .= ";UID=$uid";
$data_src .= ";PWD=$pwd";
my $dbh = DBI->connect($data_src, '', '', \%defaults)
  or die "Cannot connect to $data_src: $DBI::errstr\n";