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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー プログラミング » Perl DBI サポート » DBD::SQLAnywhere を使用する Perl スクリプト

 

接続を開いて閉じる

通常、データベースに対して 1 つの接続を開いてから、一連の SQL 文を実行して必要なすべての操作を実行します。接続を開くには、connect メソッドを使用します。この戻り値は、接続時に後続の操作を行うために使用するデータベース接続のハンドルです。

connect メソッドのパラメーターは、次のとおりです。

  1. "DBI:SQLAnywhere:" とセミコロンで分けられた追加接続パラメーター。

  2. ユーザー名。この文字列がブランクでないかぎり、接続文字列に ";UID=value" が追加されます。

  3. パスワード値。この文字列がブランクでないかぎり、接続文字列に ";PWD=value" が追加されます。

  4. デフォルト値のハッシュへのポインター。AutoCommit、RaiseError、PrintError などの設定は、この方法で設定できます。

次のコードサンプルは、SQL Anywhere サンプルデータベースへの接続を開いて閉じます。スクリプトを実行するには、データベースサーバーとサンプルデータベースを起動します。



#!/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__

オプションとして、ユーザー名またはパスワード値を個々のパラメーターとして指定する代わりに、これらをデータソース文字列に追加できます。このオプションを実施する場合は、該当する引数にブランク文字列を指定します。たとえば、上記の場合、接続を開く文を次の文に置き換えることにより、スクリプトを変更できます。

$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";