c16_connect
c16_connect(aServerName : string, aServerPassword : string, aAreaName : string, aUserName : string, aUserPassword : string[, aLocalDsPath : string]) : resource
Datenbank öffnen
Details
- aServerName: Protokoll und Name des Servers
- aServerPassword: Kennwort des Servers
- aAreaName: Symbolischer Name der Datenbank
- aUserName: Benutzer
- aUserPassword: Kennwort des Benutzers
- aLocalDs: Pfad der lokalen Datenstruktur (optional)
- Resultat: resource Verbindungsobjekt oder Fehlerwert
- Siehe: Befehle der PHP-Schnittstelle , c16_close()
Mit diesem Befehl wird eine Verbindung zum Server aufgebaut, die angegebene Datenbank geöffnet und ihre Datenstruktur in den Hauptspeicher geladen.
Die Anmeldung an den Server geschieht über die Parameter (aServerName) und (aServerPassword). Der Servername setzt sich aus dem verwendetet Protokoll und dem Servernamen zusammen (<Protokoll>:<Servername>). Bei <Protokoll> kann nur "TCP" angegeben werden.
Der Parameter (aServerPassword) beinhaltet eine Zeichenkette mit dem Passwort der Datenbank. Dieses Passwort kann über die Schaltfläche [Kennwort] im Dialog "Kennwortabfrage" angegeben werden. Die Angabe ist nur notwendig, wenn die Datenbank über das Passwort geschützt worden ist. Ist dies nicht der Fall bzw. ist die Datenbank nicht passwortgeschützt, wird ein Leerstring übergeben.
(aAreaName) enthält eine Zeichenkette mit dem symbolischen Namen der Datenbank. Dies ist der gleiche Name, der auch zur Anmeldung der Datenbank beim Server angegeben wurde. Alternativ kann hier auch der Pfad und der Dateiname der Datenbank (ohne Dateierweiterung .CA1) angegeben werden.
Bei der Verwendung der Hot-Standby -Option des Servers muss der symbolische Name angegeben werden. In dem Übergabeparameter (aServerName) werden beide Server (der Primär- und der Sekundärserver) angegeben. Die beiden Server werden durch "+" voneinander getrennt (<Protokoll>:<Servername>+<Servername>).
Zur Anmeldung in der Datenbank wird ein Benutzer und das zugehörige Passwort benötigt. Der Benutzer wird in (aUserName) (Zeichenkette) übergeben. Das Passwort steht in (aUserPassword) (Zeichenkette). Hat der Benutzer kein Passwort, wird eine leere Zeichenkette übergeben. Besitzt der Benutzer eine limitierte Datenstruktur, wird auch nur diese geladen.
Der angegebene Benutzer (aUserName) benötigt für einen Zugriff auf die Datenbank eine entsprechende Berechtigung. Dazu muss die Option "Externer Zugriff" in den Programmrechten des Benutzers gesetzt sein.
Soll eine lokale Datenstruktur abgelegt werden, muss in dem Parameter (aLocalDs) ein Pfad und ein Dateiname angegeben werden. Die Datenstruktur wird dann lokal abgelgt und muss nicht bei jedem Öffnen der Datenbank übertragen werden. Der Pfad muss mit "/" anstelle von "" angegeben werden (zum Beispiel c:/c16/dictionary). Die Dateierweiterung .dst wird automatisch an die Datei angehängt und darf nicht mit angegeben werden.
Bei Verwendung der lokalen Datenstruktur wird keine limitierte Datenstruktur geladen.
Der Rückgabewert ist immer ein Verbindungsobjekt. Ob eine Verbindung zustande gekommen ist, muss mit der Anweisung c16_error() bestimmt werden. Die Anweisung liefert 0 bzw. C16_OK oder einen negativen Fehlerwert (siehe Fehlerwerte ) zurück.
Es können mehrere Datenbanken gleichzeitig geöffnet sein. Für jede geöffnete Datenbank muss eine eigene Verbindung hergestellt werden.
Beispiel:
$connection = c16_connect('TCP:10.1.0.2+10.1.0.1', '', 'Examples', 'USER', '');
if (c16_error($connection) != C16_OK)
{
// Verbindung zur Datenbank konnte nicht hergestellt werden
die('<p>Database open failed: ' . c16_errortext($connection) . '</p>');
}
...
$erg = c16_close($connection); // Datenbank schließen
if ($erg != C16_OK)
{
// Fehler beim Schließen der Verbindung
die('<p>Database close failed: ' . c16_errortext($res) . '</p>');
}
Folgende Fehler können nach der Ausführung der Anweisung auftreten:
C16_OK(0): Kein Fehler aufgetreten.C16ERR_ARGS_FORMAT(-251): Anzahl der Argumente oder Typ eines Arguments ungültig.C16ERR_COMM_FAILED(-302): Kommunikation fehlgeschlagen.C16ERR_SERVER_OP(-303): Serverseitige Verarbeitung fehlgeschlagen.C16ERR_SWAPINIT_FAILED(-305): Initialisierung der Auslagerungsdatei fehlgeschlagen. Möglicherweise ist in c16.path.temp ein ungültiges Verzeichnis angegeben.C16ERR_NO_SERVER_CONNECTION(-401): Serververbindung konnte nicht hergestellt werden.C16ERR_AREA_NOT_FOUND(-402): Datenbank nicht gefunden.C16ERR_AREA_OPEN(-403): Öffnen der Datenbank fehlgeschlagen.C16ERR_AREA_LOCKED(-404): Datenbank gesperrt.C16ERR_AREA_IN_USE(-405): Datenbank in exklusiver Benutzung.C16ERR_AREA_TYPE(-406): Datenbank nicht kompatibel.C16ERR_AREA_PASSWORD(-407): Serverpasswort nicht korrekt.C16ERR_SERVER_USER_LIMIT(-408): Benutzerlimit des Servers erreicht.C16ERR_SERVER_START(-409): Serverprozess konnte nicht gestartet werden.C16ERR_USER_INVALID(-413): Benutzername oder -passwort nicht korrekt.C16ERR_AREA_STANDBY(-416): Datenbank im Standby-Modus.C16ERR_AREA_ROLLBACK(-417): Datenbank im Rollback-Modus.C16ERR_AREA_LOCKED_ADMIN(-418): Datenbank durch Administrator gesperrt.C16ERR_AREA_LOCKED_OPERATION(-419): Datenbank durch Serviceoperation gesperrt.C16ERR_AREA_LOCKED_DOWN(-420): Datenbank wird geschlossen.C16ERR_AREA_LOCKED_STANDBY(-421): Datenbank durch Standby-Modus gesperrt.C16ERR_AREA_LOCKED_ROLLBACK(-422): Datenbank durch Rollback-Sperre gesperrt.C16ERR_AREA_LOCKED_OPEN(-423): Datenbank durch Login-Sperre gesperrt.C16ERR_AREA_LOCKED_NO_STANDBY_OPEN(-424): Datenbank durch Standby-Sperre gesperrt.C16ERR_LICENSE_SRVNOTSUPPORTED(-2001): Version des Datenbankservers nicht unterstützt.C16ERR_LICENSE_CLNUPGRADE(-2002): Version des Clients nicht lizenziert.C16ERR_LICENSE_CLNNOTSUPPORTED(-2003): Typ des Clients nicht lizenziert.C16ERR_LICENSE_COMM(-2004): Kommunikation mit Lizenzserver fehlgeschlagen.C16ERR_LICENSE_DATA(-2005): Datenaustausch mit Lizenzserver fehlgeschlagen.C16ERR_LICENSE_INVALID(-2006): Lizenzdaten ungültig.C16ERR_LICENSE_MISMATCH_EVAL(-2007): Client nicht von Evaluierunglizenz unterstützt.