UltraLite-Anwendungen müssen eine Verbindung zur Datenbank herstellen, bevor sie ihre Daten bearbeiten können. Dieser Abschnitt beschreibt, wie Sie sich mit einer UltraLite-Datenbank verbinden.
Der Beispielcode befindet sich im Verzeichnis Beispielverzeichnis\UltraLite\CustBD\.
Commit-Verhalten In der UltraLite C++-API gibt es keinen Autocommitmodus. Auf jede Transaktion muss eine Conn->Commit()-Anweisung folgen. Weitere Hinweise finden Sie unter Transaktionen verwalten.
Benutzerauthentifizierung Sie können die Benutzer-ID und das Kennwort für die Anwendung (von den Standardwerten DBA bzw. sql) ändern, indem Sie Methoden verwenden, um die Verbindungsberechtigungen zu erteilen oder zu entziehen. Jede Datenbank kann maximal vier Benutzer-IDs haben. Weitere Hinweise finden Sie unter Benutzer authentifizieren.
Synchronisation Sie können eine UltraLite-Datenbank mit einer konsolidierten Datenbank mit den Methoden des Connection-Objekts synchronisieren. Weitere Hinweise finden Sie unter Daten synchronisieren.
Tabellen Auf UltraLite-Datenbanktabellen wird mithilfe der Methoden des Connection-Objekts zugegriffen. Weitere Hinweise finden Sie unter Datenzugriff mit der Tabellen-API.
Vorbereitete Anweisungen Für die Verarbeitung der SQL-Anweisungen werden Methoden bereitgestellt. Weitere Hinweise finden Sie unter Mit SQL auf Daten zugreifen und UltraLite_PreparedStatement-Klasse.
Verwenden Sie den UltraLite-Namespace.
Die Verwendung des UltraLite-Namespace ermöglicht es Ihnen, Kurznamen für Klassen in der C++-Schnittstelle zu verwenden.
using namespace UltraLite; |
Erstellen und initialisieren Sie ein DatabaseManager-Objekt und einen UltraLite SQL-Kommunikationsbereich (ULSqlca). Der ULSqlca (SQL Communications Area) ist eine Struktur, die die Kommunikation zwischen der Anwendung und der Datenbank übernimmt.
Das DatabaseManager-Objekt befindet sich am Ausgangspunkt der Objekthierarchie. Sie erstellen nur ein DatabaseManager-Objekt pro Anwendung. Es ist häufig die beste Lösung, das DatabaseManager-Objekt global für die Anwendung zu deklarieren.
ULSqlca sqlca; sqlca.Initialize(); DatabaseManager * dbMgr = ULInitDatabaseManager(sqlca); |
Wenn die Anwendung keine SQL-Unterstützung erfordert und eine direkte Verknüpfung mit der UltraLite-Laufzeitdatenbank herstellt, kann sie ULInitDatabaseManagerNoSQL aufrufen, um ULSqlca zu initialisieren. Diese Variante verringert die Anwendungsgröße.
Weitere Hinweise finden Sie unter UltraLite_DatabaseManager_iface-Klasse.
Öffnen Sie eine Verbindung mit einer bestehenden Datenbank oder erstellen Sie eine neue Datenbank, wenn die angegebene Datenbankdatei nicht vorhanden ist. Weitere Hinweise finden Sie unter OpenConnection-Funktion.
UltraLite-Anwendungen können ein Deployment einer leeren Ausgangsdatenbank durchführen oder die Anwendung kann die UltraLite-Datenbank erstellen, sofern sie noch nicht vorhanden ist. Das Deployment einer Ausgangsdatenbank ist die einfachste Lösung. Andernfalls muss die Anwendung die Funktion ULCreateDatabase aufrufen, um die Datenbank und alle von der Anwendung benötigten Tabellen zu erstellen. Weitere Hinweise finden Sie unter ULCreateDatabase-Funktion.
Connection * conn = dbMgr->OpenConnection( sqlca, UL_TEXT("dbf=mydb.udb") ); if( sqlca.GetSQLCode() == SQLE_ULTRALITE_DATABASE_NOT_FOUND ) { printf( "Open failed with sql code: %d.\n" , sqlca.GetSQLCode() ); } } |
Jede Verbindung und alle von ihr erstellten Objekte sollten von einem einzigen Thread verwendet werden. Wenn eine Anwendung mehrere Threads benötigt, die auf die UltraLite-Datenbank zugreifen, muss jeder Thread seine eigene Verbindung haben.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |