NAME
Quiq::Dbms - Datenbanksystem
BASE CLASS
SYNOPSIS
use Quiq::Dbms;
# Instantiierung
my $d = Quiq::Dbms->new($dbms);
# Namen der unterstützten Datenbanksysteme
my @names = Quiq::Dbms->dbmsNames;
# Boolsche Variable für Tests
($oracle,$postgresql,$sqlite,$mysql,$access,$mssql,$jdbc) =
$d->dbmsTestVector;
# Test-Methoden
$bool = $d->isOracle;
$bool = $d->isPostgreSQL;
$bool = $d->isSQLite;
$bool = $d->isMySQL;
$bool = $d->isAccess;
$bool = $d->isMSSQL;
$bool = $d->isJDBC;
DESCRIPTION
Ein Objekt der Klasse repräsentiert ein Datenbanksystem, bestehend (lediglich) aus dem Namen des Datenbanksystems und dessen Version. Die Klasse stellt Testmethoden für die Art des DBMS zur Verfügung und ist daher vor allem als Basisklasse nützlich, z.B. für Klassen, die SQL-Code generieren oder analysieren.
ATTRIBUTES
METHODS
Klassenmethoden
new() - Konstruktor
Synopsis
$d = $class->new($dbms);
$d = $class->new($dbms,$version);
$d = $class->new($db);
Arguments
Returns
DBMS-Objekt
Description
Instantiiere ein DBMS-Objekt für DBMS $dbms und liefere eine Referenz auf dieses Objekt zurück. Die Liste der unterstützten DBMSe siehe $class->dbmsNames().
Klassenmethoden
dbmsNames() - Liste der Namen der unterstützten Datenbanksysteme
Synopsis
$namesA | @names = $this->dbmsNames;
Description
Liefere folgende Liste von DBMS-Namen (in dieser Reihenfolge):
Oracle
PostgreSQL
SQLite
MySQL
Access
MSSQL
JDBC
Objektmethoden
dbmsTestVector() - Vektor für DBMS-Tests
Synopsis
($oracle,$postgresql,$sqlite,$mysql,$access,$mssql,$jdbc) = $d->dbmsTestVector;
Description
Liefere einen Vektor von boolschen Werten, von denen genau einer wahr ist, und zwar derjenige, der dem DBMS entspricht, auf den das Objekt instantiiert ist.
Die Methode ist für Programmcode nützlich, der DBMS-spezifische Unterscheidungen macht. Der Code braucht dann lediglich auf den Wert einer Variable prüfen
if ($oracle) ...
statt einen umständlichen und fehleranfälligen Stringvergleich durchzuführen
if ($dbms eq 'Oracle') ...
isOracle() - Teste auf Oracle
Synopsis
$bool = $d->isOracle;
Description
Prüfe, ob das Datenbanksystem Oracle ist. Wenn ja, liefere wahr, sonst falsch.
isPostgreSQL() - Teste auf PostgreSQL
Synopsis
$bool = $d->isPostgreSQL;
Description
Prüfe, ob das Datenbanksystem PostgreSQL ist. Wenn ja, liefere wahr, sonst falsch.
isSQLite() - Teste auf SQLite
Synopsis
$bool = $d->isSQLite;
Description
Prüfe, ob das Datenbanksystem SQLite ist. Wenn ja, liefere wahr, sonst falsch.
isMySQL() - Teste auf MySQL
Synopsis
$bool = $d->isMySQL;
Description
Prüfe, ob das Datenbanksystem MySQL ist. Wenn ja, liefere wahr, sonst falsch.
isAccess() - Teste auf Access
Synopsis
$bool = $d->isAccess;
Description
Prüfe, ob das Datenbanksystem Access ist. Wenn ja, liefere wahr, sonst falsch.
isMSSQL() - Teste auf MSSQL
Synopsis
$bool = $d->isMSSQL;
Description
Prüfe, ob das Datenbanksystem MSSQL ist. Wenn ja, liefere wahr, sonst falsch.
isJDBC() - Teste auf JDBC
Synopsis
$bool = $d->isJDBC;
Description
Prüfe, ob das Datenbanksystem JDBC ist. Wenn ja, liefere wahr, sonst falsch.
VERSION
1.206
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2022 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.